欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > scrapy分布式、断点续连爬虫开发框架RedisSpider使用教程

scrapy分布式、断点续连爬虫开发框架RedisSpider使用教程

2025/2/23 0:39:49 来源:https://blog.csdn.net/weixin_51111267/article/details/140514361  浏览:    关键词:scrapy分布式、断点续连爬虫开发框架RedisSpider使用教程

一、爬虫文件

使用RedisSpider为继承父类,添加redis_key

import scrapy
from ..items import NewsItem
from scrapy_redis import spidersclass CbsnewsSpiderSpider(spiders.RedisSpider):name = "abc_spider"# allowed_domains = ["www.abc.com"]# start_urls = ["https://www.abc.com/"]redis_key = 'abc:start_urls'    # redis队列关键字,使用 lpush abc:start_urls https://www.abc.com/ 放入初始网址,程序自动GET请求def parse(self, response):"""第一层:解析自动GET请求的初始网址:param response::return:"""abc_list = response.xpath('//nav[@class="header__nav"]//a/@href').extract()if not abc_list:returnfor column_url in abc_list:yield scrapy.Request(column_url, callback=self.abc_source, meta={'column_url': column_url})def abc_source(self,response):"""第二层:解析第一层获取并请求回来的网址:param response::return:"""column_url = response.meta['column_url']print(column_url)pass

二、settings.py配置

项目settings.py文件增加下面代码即可

# 增加redis地址、端口
REDIS_HOST = '127.0.0.1'
REDIS_PORT = 6379# 配置scrapy-redis调度器
SCHEDULER = "scrapy_redis.scheduler.Scheduler"
# 配置爬取去重
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
# 断点续连,不用从头开始爬
SCHEDULER_PERSIST = True

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词