scrapy-redis是一个基于scrapy框架的分布式组件。
要用scrapy-redis要有redis数据库,redis数据库记录我们爬虫的爬取状态,实现分布式爬取,
首先需要配置爬虫项目的settings
#任务调度
SCHEDULER = "scrapy_redis.scheduler.Scheduler"
#去重
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
#是否支持停止清除数据
SCHEDULER_PERSIST = False
#调度策略:队列
SCHEDULER_QUEUE_CLASS = 'scrapy_redis.queue.SpiderQueue'
REDIS_HOST ='127.0.0.1' #修改为Redis的实际IP地址
REDIS_PORT = 6379 #修改为Redis的实际端口
配置完成之后在项目爬虫中写这样一句话
redis_key ='start_urls' #redis记录爬虫状态的名称
打开redis
redis-server.exe
redis-cli
在redis中添加我们需要爬取的url
lpush start_urls http://abc/
然后启动爬虫即可,这样就可以实现分布式,
因为有redis,所以续爬和意外停止都不用担心,如果需要多台机器爬取,就需要配置redis了。
配置请搜索百度,因为楼主电脑不是很方便,等有机会了再继续更新。
网友评论