普通Scrapy为增量式爬虫

安装Scrapy-Redis

启动方式和scrapy一样,
只需要在setting里添加固定设置即可

  1. 使用Redis的set集合来去重
    DUPEFILTER_CLASS = “scrapy_redis.dupefilter.RFPDupeFilter”

  2. 增加了调度的配置, 作用: 把请求对象存储到Redis数据, 从而实现请求的持久化.
    SCHEDULER = “scrapy_redis.scheduler.Scheduler”

  3. 是否允许暂停
    SCHEDULER_PERSIST = True

  4. 连接Redis数据库 配置信息
    REDIS_HOST = ‘127.0.0.1’
    REDIS_PORT = 6379

  5. 需要把数据存储到Redis数据库中, 并设置优先级
    ITEM_PIPELINES = {
    #把爬虫爬取的数据存储到Redis数据库中
    ‘scrapy_redis.pipelines.RedisPipeline’: 400,
    }

  6. 下载延迟,建议开启,
    #DOWNLOAD_DELAY = 1

  7. spider爬虫文件填写

ex = self.conn.sadd('urls',detail_url)

	if ex == 1:

​	print('该url没有被爬取过,可以进行数据的爬取')

	yield scrapy.Request(url=detail_url,callback=self.parst_detail)

​ else:

	print('数据还没有更新,暂无新数据可爬取!')

主要原理就是利用Redis的去重效果,判断该URL是否已经存在,如果存在,则不填写,不存在则爬取并写入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值