scrapy - Scrapy如何过滤爬取的url?

标签 scrapy

我想知道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/

相关文章:

mysql - Scrapy selenium 中间件内存泄漏

python - 如何将 beautifulsoup 文本转换为列表或可迭代对象

python - getallAttributes() 的正确方法是什么

python - 即使存在 301 状态,如何获取响应文本?

python - 如何将网站的多个部分中的多个属性映射为 scrapy 项目?

python - 如何从收到的响应中抓取 html 代码?

python - 运行 scrapy 爬虫的最简单方法,这样它就不会阻止脚本

python - DNS 查找失败 : address 'your.proxy.com' not found: [Errno -5] No address associated with hostname

xpath - Scrapy:在Xpath中处理Abbr标签的问题

python - Scrapy 在 django 中与 celery 随机崩溃