3

我想知道 Scrapy 是如何过滤那些爬取的 url 的?它是否存储了所有被抓取的 url crawled_urls_list,当它获得一个新的 url 时,它会查找列表以检查该 url 是否存在?

CrawlSpider (/path/to/scrapy/contrib/spiders/crawl.py)的这个过滤部分的代码在哪里?

非常感谢!

4

1 回答 1

5

默认情况下,scrapy 保留已见请求的指纹。此列表保存在 python 集中的内存中,并在 JOBDIR 变量定义的目录中附加了一个文件调用 requests.seen。如果您重新启动scrapy,文件将重新加载到python集中。控制这个的类在 scrapy.dupefilter 如果你需要不同的行为,你可以重载这个类。

于 2012-11-29T15:50:50.517 回答