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/