python - DEPTH_LIMIT 到底指的是什么?目前的深度是否可以引用?

标签 python scrapy

Scrapy 表明它有一个 DEPTH_LIMIT setting ,但没有具体说明什么是“深度”。在抓取页面方面,我看到“深度”指的是“网址的深度”,或http://somedomain.com/this/is/a/depth/six/url,其中该 URL 请求的页面深度为“六”,因为它有六个段。http://somedomain.com 的深度为零。

另一方面,当我们考虑从树木方面进行抓取时,深度更可能是指距起始位置的距离。因此,如果我向其提供 http://somedomain.com/start/here 的起始 URL,则深度为零,并且在该响应中找到的任何链接都将为深度 1。

Scrapy 使用这些定义之一吗?如果有的话是哪一个?如果是后一种(这似乎更合乎逻辑),有什么方法可以获取深度信息,无论是在爬虫中处理响应还是在将其作为管道中的项目进行后处理时?

最佳答案

Scrapy 使用 DFS 方法进行遍历,可以通过响应元数据访问当前深度:response.meta['深度']

关于python - DEPTH_LIMIT 到底指的是什么?目前的深度是否可以引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39028908/

相关文章:

python - scrapy - 在 http 代码上调用 process_exception

python - Django allauth 和 facebook : Given URL is not allowed by the Application configuration

python - 始终打印 ] -100 之间的随机值; 100 [ 作为点前 2 位数字和点后 2 位数字,python 3

python - 离线plot.ly无法在jupyter笔记本上工作

python-3.x - 如何在Scrapy CrawlSpider中找到当前的start_url?

python - Scrapy - 在蜘蛛运行时获取或刷新统计数据

python - Scrapyd 和单蜘蛛的并行/性能问题

python - 使用 python 切割地质钻孔(csv 数据文件)以提取一些值

python解析wifi SSID数据

python - 用scrapy一一爬取网站列表