请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

scrapy-redis怎么做增量爬取

对网站进行爬取完过后,过几天网站添加了很多数据,但是这个url的request又在去重的redis服务中,一直获取不到最新的数据,这个怎么解决?

正在回答 回答被采纳积分+3

1回答

提问者 TT2_X 2018-05-16 17:22:29

感觉scrapy一点都不好做增量爬取

0 回复 有任何疑惑可以回复我~
  • bobby #1
    增量非常好做啊, 你首先将scrapy-redis的队列用优先级队列替换掉,然后写个脚本定时发送你要抓取的列表页首页url到redis队列中,把优先级设置高一点,这样每次抓取都会优先抓取你刚才push进去的url啊
    回复 有任何疑惑可以回复我~ 2018-05-18 13:56:44
  • 提问者 TT2_X 回复 bobby #2
    它已经在去重队列中了,重新push到redis,去读取的时候还是会被过滤
    回复 有任何疑惑可以回复我~ 2018-05-18 14:32:09
  • bobby 回复 提问者 TT2_X #3
    这个简单 你可以在RFPDupeFilter源码中 关于去重的逻辑出 修改一下逻辑 对于特殊的url 不去去重处理,还有一种更合理的方法就是用scrapy的Request放入到redis队列中 这里的request你可以加上dont_filter参数,这样防止被过滤掉,第一种方法简单 第二种方法更合理但是需要你对源码更熟悉些
    回复 有任何疑惑可以回复我~ 2018-05-18 16:06:00
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信