1、scrapy爬虫遇到一个问题,有时候会对一个网页重复爬取提取不同的数据,这时候会发现,后面的那个重复爬取scrapy直接终止了。

原因:

scrapy 的request逻辑里面  dont_filter=False,也就是重复网页不爬取,需要修改下这个参数

classscrapy.http.Request(url[, callbackmethod='GET'headersbodycookiesmetaencoding='utf-8'priority=0dont_filter=Falseerrbackflagscb_kwargs])

 

 

解决办法:

Scrapy的官方文档:

http://doc.scrapy.org/en/latest/topics/request-response.html#scrapy.http.Request

Request函数在文档中的定义:

class scrapy.http.Request(url[, callbackmethod='GET'headersbodycookiesmetaencoding='utf-8'priority=0dont_filter=Falseerrback])

在这儿, request的 dont_filter 设置为True就可以了

 

也就是说

yield scrapy.Request(url=nexturl, callback=self.parse,dont_filter=True)
搞定

相关文章:

  • 2021-09-27
  • 2021-08-11
  • 2021-09-10
  • 2021-05-02
  • 2021-09-24
  • 2021-10-13
  • 2021-12-04
猜你喜欢
  • 2021-08-27
  • 2022-01-01
  • 2022-03-10
  • 2021-12-05
  • 2021-09-07
  • 2021-12-25
相关资源
相似解决方案