zoukankan      html  css  js  c++  java
  • scrapy_redis(分布式爬取)

    创建scrapy项目

    scrapy startproject 项目名

    创建爬虫

    scrapy genspider 爬虫名 爬取网站地址

    修改spiders下面的py文件

    from scrapy_redis.spiders import RedisSpider
    
    class ManhuataiSpider(RedisSpider):
        name = 'manhuatai'  # 爬虫名
        allowed_domains = ['www.manhuatai.com']  # 搜索域名范围
        redis_key = 'myspider:start_urls'  # 添加指定url(不要默认启动地址)
    
        def parse(self, response):
            pass

    修改配置文件 settings.py

    # 使用scrapy_redis的去重组件, 在redis中去重
    DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
    # 使用了scrapy_redis的调度器,在redis里分配请求
    SCHEDULER = "scrapy_redis.scheduler.Scheduler"
    # 在redis中保持scrapy_redis用到各个队列(不清理redis queues)可暂停和恢复
    SCHEDULER_PERSIST = True
    # redis服务器地址
    REDIS_HOST = '192.168.21.176'
    # 端口
    REDIS_PORT = 6379
    # 设置cmd中的输出级别
    LOG_LEVEL = 'ERROR'
    # 编码
    FEED_EXPORT_ENCODING = 'utf-8'

    通过 scrapy 方法执行爬虫的py文件(也可以分次执行多条),爬虫(们)将处于等待准备状态:

    scrapy runspider 爬虫名

    在Master端的redis-cli输入push指令

    或者在Redis可视化工具中执行

    lpush myspider:start_urls 需要爬取网站的初始网址

    可将数据保存为mongoDB,详细擦看

  • 相关阅读:
    Swift
    Swift
    UVa
    Go如何发送广播包
    人迹罕至的android要完全退出程序的一种方法
    备注ocp_ORACLE专题网络
    JS它DOM
    HDU 1693 Eat the Trees 插头DP
    ubuntu-14.04 系统安装mysql-5.6.21
    1941设置站点模板,一生珍藏,所有玩具
  • 原文地址:https://www.cnblogs.com/cp9648/p/10472101.html
Copyright © 2011-2022 走看看