如何解释 robots.txt 的抓取延迟?

How are crawl delays from robots.txt interpreted?

我正在构建一个基于 python 的网络抓取工具,用于从多个站点抓取产品的价格和规格数据。我想尊重并尽可能地遵循 robots.txt。

假设 robots.txt 文件中定义的抓取延迟为 10 秒。这是如何解释的?我建立了我的抓取器去每个产品类别页面,然后从每个类别中获取所有产品的列表,然后进入每个单独的产品页面并抓取价格和规格。

每次页面请求需要延迟10秒吗?或者 运行 宁我的脚本的行为曾经被认为是一个动作,我每次 运行 它只需要等待 10 秒?

如果是前者,那么人们如何从网站上抓取大量数据?如果有 5000 个产品页面,我将每个产品页面延迟 10 秒,那么我的脚本将需要 14 小时才能完成单个 运行.

如果我将工作拆分到多个脚本中会怎样?是每个单独的脚本需要自己遵守规则还是来自某个 IP 的所有请求都需要共同遵守规则?

我不想让我的 IP 被禁止或不小心关闭任何人的网站。预先感谢任何答案。

欢迎来到 Stack Overflow。

这意味着您应该在对特定站点的每个请求之间放置 10 秒的延迟。更多信息,您可以阅读这篇文章

https://www.contentkingapp.com/academy/robotstxt/#crawl-delay

您最好使用一些框架来抓取网站,例如 scrapy。他们为您提供下载延迟选项,并确保爬网引擎将每个请求延迟那么多时间。