首页 / 爬虫 / Scrapy-redis分布式爬虫
Scrapy-redis分布式爬虫
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Scrapy-redis分布式爬虫,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1379字,纯文字阅读大概需要2分钟。
内容图文
![Scrapy-redis分布式爬虫](/upload/InfoBanner/zyjiaocheng/914/7735af1a7d624fe5a3bc38c0b73040b3.jpg)
将Scrapy项目修改为分布式
https://github.com/rmax/scrapy-redis
- dmoz.py:普通crawlspider模板
- myspider_redis.py:分布式的Spider模板
- mycrawler_redis.py:分布式的CrawlSpider模板
一、修改继承的类为RedisCrawlSpider
class TaobaoSpider(RedisCrawlSpider): pass
二、导入RedisCrawlSpider的库并删除多余的库
from scrapy_redis.spiders import RedisCrawlSpider
三、由于默认提供的__init__方法不能使用,所以我们需要使用allowed_domains这种列表的形式
allowed_domains = ['www.ygdy8.net']
四、注释start_urls
# start_urls = ['http://www.ygdy8.net/html/gndy/dyzz/index.html/']
五、添加redis_key
redis_key = 'fen:start_urls'
六、定义提取连接的规则
rules = (
Rule(LinkExtractor(allow=r'list_23_\d+.html'), callback='parse_item', follow=True), )
七、在settings.py文件中添加三个组件
# 指纹去重组件 DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter" # 调用器组件 SCHEDULER = "scrapy_redis.scheduler.Scheduler" # 在爬取的过程中允许暂停 SCHEDULER_PERSIST = True
八、 在settings.py文件中配置redis管道以及redis数据存储配置
# scrapy-redis组件已经写好往redis中存放的管道,只需要使用即可,默认存储到本机的redis服务中 ITEM_PIPELINES = { 'scrapy_redis.pipelines.RedisPipeline': 400, } # 配置存储的redis服务器 REDIS_HOST = 'Redis端的ip地址' REDIS_PORT = 6379
九、在settings.py文件中开启延迟下载
# 延迟下载,注意素质!
DOWNLOAD_DELAY = 1
十、运行分布式爬虫文件
scrapy runspider 爬虫文件名称
十一、由master端的redis给起始的url命令
lpush redis_key的值 起始url
内容总结
以上是互联网集市为您收集整理的Scrapy-redis分布式爬虫全部内容,希望文章能够帮你解决Scrapy-redis分布式爬虫所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。