Alo*_*hor 20 python web-crawler scrapy
我正在学习Scrapy一个网络爬行框架.
默认情况下,它不会抓取scrapy已经抓取过的重复网址或网址.
如何让Scrapy抓取已经抓取的重复网址或网址?
我试图在互联网上找到但却找不到相关的帮助.
我发现DUPEFILTER_CLASS = RFPDupeFilter并SgmlLinkExtractor从Scrapy - Spider爬行重复的网址,但这个问题与我正在寻找的相反
pau*_*rth 40
你可能正在寻找这个dont_filter=True论点Request().请参阅http://doc.scrapy.org/en/latest/topics/request-response.html#request-objects
Don*_*ons 12
更优雅的解决方案是完全禁用重复过滤器:
# settings.py
DUPEFILTER_CLASS = 'scrapy.dupefilters.BaseDupeFilter'
Run Code Online (Sandbox Code Playgroud)
这样您就不必混淆所有的Request创建代码dont_filter=True.另一个副作用:这只会禁用重复过滤,而不会禁用任何其他过滤器,如异地过滤.
如果要有选择地仅对项目中的一个或多个蜘蛛使用此设置,可以custom_settings在蜘蛛实现中进行设置:
class MySpider(scrapy.Spider):
name = 'myspider'
custom_settings = {
'DUPEFILTER_CLASS': 'scrapy.dupefilters.BaseDupeFilter',
}
Run Code Online (Sandbox Code Playgroud)