我想知道Scrapy是如何过滤那些爬取的url的?它是否存储所有被抓取的 url,如 crawled_urls_list
,当它获得新 url 时,它会查找列表以检查 url 是否存在?
CrawlSpider这个过滤部分的代码在哪里(/path/to/scrapy/contrib/spiders/crawl.py)?
非常感谢!
最佳答案
默认情况下,scrapy 会保留所见请求的指纹。该列表保存在 python 集合的内存中,并在 JOBDIR 变量定义的目录中附加了一个文件调用 requests.seen。 如果重新启动 scrapy,文件将重新加载到 python 集中。 控制这个的类在 scrapy.dupefilter 如果您需要不同的行为,您可以重载此类。
关于scrapy - Scrapy如何过滤爬取的url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13621014/