分布式爬虫

pip install scrapy-redis

scrapy genspider -t crawl xxx www.xxx.com

class ChoutiSpider(RedisCrawlSpider):
name = 'chouti'
# allowed_domains = ['www.chouti.com']
# start_urls = ['http://www.chouti.com/']
redis_key = 'chouti'
rules = (
Rule(LinkExtractor(allow=r'/hot/\d+'), callback='parse_item', follow=True),
)
#setting 中设置


使用组件中封装好的可以被共享的管道类:
        ITEM_PIPELINES = {
            'scrapy_redis.pipelines.RedisPipeline': 400
            }

配置调度器(使用组件中封装好的可以被共享的调度器) # 增加了一个去重容器类的配置, 作用使用Redis的set集合来存储请求的指纹数据, 从而实现请求去重的持久化
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter" # 使用scrapy-redis组件自己的调度器 SCHEDULER = "scrapy_redis.scheduler.Scheduler" # 配置调度器是否要持久化, 也就是当爬虫结束了, 要不要清空Redis中请求队列和去重指纹的set。如果是True, 就表示要持久化存储, 就不清空数据, 否则清空数据 SCHEDULER_PERSIST = True 指定存储数据的redis: REDIS_HOST = 'redis服务的ip地址' REDIS_PORT = 6379


配置redis数据库的配置文件 取消保护模式:protected-mode no bind绑定: #bind 127.0.0.1 - 启动redis 6.执行分布式程序 scrapy runspider xxx.py 7.向调度器队列中仍入一个起始url: 在redis-cli中执行:

 

转载于:https://www.cnblogs.com/ls1997/p/10878209.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值