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

时间:2018-12-10 08:47:27

标签: web-scraping robots.txt

我正在构建一个基于python的网络爬虫,该爬虫从多个站点抓取产品的价格和规格数据。我要尊重他人,并尽可能多地关注robots.txt。

可以说,robots.txt文件中定义的抓取延迟为10秒。如何解释?我构建了刮板,以转到每个产品类别页面,然后获取每个类别中所有产品的列表,然后进入每个单独的产品页面,然后抓取价格和规格。

每个页面请求是否需要延迟10秒?还是运行脚本的行为曾经被视为一项操作,而我每次运行只需等待10s?

如果是前者,那么有人如何从站点中抓取大量数据?如果有5000个产品页面,而我将每个页面延迟10秒,那么我的脚本将需要14个小时才能运行一次。

如果我将工作分割成多个脚本怎么办?是每个单独的脚本都需要自己遵循规则,还是某个IP的所有请求都需要共同遵循该规则?

我不想禁止我的IP或意外删除任何人的站点。预先感谢您提供任何答案。

1 个答案:

答案 0 :(得分:0)

欢迎使用堆栈溢出。

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

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

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