我想知道Scrapy如何过滤那些已抓取的网址?它是否存储了在crawled_urls_list
之类的内容中抓取的所有网址,当它获取新网址时,它会查找列表以检查网址是否存在?
CrawlSpider (/ path / to / scrapy / contrib / spiders / crawl.py)的过滤部分的代码在哪里?
非常感谢!
答案 0 :(得分:5)
默认情况下,scrapy会保留已查看请求的指纹。此列表保存在python集的内存中,并在JOBDIR变量定义的目录中附加文件调用requests.seen。 如果重新启动scrapy,文件将重新加载到python集中。 控制它的类在scrapy.dupefilter中 如果您需要不同的行为,可以重载此类。