一、Redis
1、Redis安装
pip install redis
或下载源码安装
2、启动redis
redis-server
redis
3、redis清空缓存
redis-cli flushdb
清空缓存
二、Scrapy配置
1、settings.py
SCHEDULER = "scrapy_redis.scheduler.Scheduler"
SCHEDULER_PERSIST = True
SCHEDULER_QUEUE_CLASS = 'scrapy_redis.queue.SpiderPriorityQueue'
REDIS_URL = None
REDIS_HOST = '127.0.0.1'
REDIS_PORT = 6379
2、Spider类,不再从CrawlSpider类继承,从RedisSpider类继承
from scrapy_redis.spiders import RedisSpider
其他代码相同。
三、遇到的问题:
1、爬虫跑起来以后,不再自动停止了,已经爬取完数据了。是在等待调度吗?还是哪里需要配置。
2、尝试了一下redis没有清空,爬虫再跑一次,仍然可以抓取到20条数据,不清空的话,每次都可以抓到20条。如果清空的话,可以抓取到全部数据,应该不是每次新增加的数据,是哪里出了问题?
3、分布式爬虫如何进行配置?
以上问题,有空再解决。