scrapyd-redis 断点续爬

最近在爬一个网站。有5万条左右的数据,为了友好期间,把间隔时间设置为5s,这个算下来总共要花好几天的时间。中间由于网络原因中断过几次,每次都得从头开始爬。所以就想着用断点续爬。正好scrapyd-redis 满足这个需求。

1 安转redis

wget http://download.redis.io/releases/redis-6.0.6.tar.gz
tar xzf redis-6.0.6.tar.gz
cd redis-6.0.6
src/redis-server

2 安装scrapyd-redis

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple   scrapy-redis

3 修改settings.py 文件

ROBOTSTXT_OBEY = False    // 设置为false
//  增加几行
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"  #定义一个去重的类,用来将url去重
SCHEDULER = "scrapy_redis.scheduler.Scheduler"   #指定队列
SCHEDULER_PERSIST = True  #将程序持久化保存
REDIS_URL = "redis://192.168.0.103:6379"   # reids 链接信息

4 重新启动爬虫

如果发现redis 里面多了dupefilter 这一例表示scrapyd-redis 起作用了。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注