2011-10-14 49 views
3

我正在与图书管理员合作,重新组织他的数码摄影档案。Web Scraper:限于单个域每分钟/小时的请求数?

我已经构建了一个Python机器人MechanizeBeautifulSoup来从一个集合中抽取大约7000个结构性很差且温和的不正确/不完整的文档。数据将被格式化为电子表格,他可以用它来纠正它。现在,我总共猜测7500个HTTP请求来构建搜索字典,然后收集数据,不计算代码中的错误和遗漏,随着项目的进展,还有更多。

我认为我可以提出这些请求的速度有一些内置的限制,即使没有,我也会给我的机器人延迟表现出对负担过重的Web服务器的礼貌。我的问题(不可能完全准确地回答)是关于在遇到内置速率限制之前可以多快地发出HTTP请求?

我不希望发布我们正在抓取的域名的URL,但如果相关,我会问我的朋友是否可以分享。

注意:我意识到这是而不是解决我们的问题的最佳方法(重构/组织数据库),但我们正在构建一个概念证明来说服上级相信我的朋友与数据库的副本,他将从中导航必要的官僚机构,以便我直接处理数据。

他们也向我们提供了ATOM feed的API,但它需要一个关键字来搜索,并且对于逐步浏览特定集合中的每张照片似乎没有用处。

+1

我建议你每秒提出一个请求,并在夜间或周末运行。你应该保存。 – janoliver

回答

4

HTTP没有内置速率限制。最常见的网络服务器不是开箱即用以限制速度。如果速度限制已经到位,那么网站的管理员几乎肯定会将其放在那里,并且您不得不问他们配置了什么。

某些搜索引擎会对robots.txt表示一个非标准扩展程序,建议使用率限制,因此请在robots.txt中检查Crawl-delay

HTTP确实有并发连接两个连接的限制,但浏览器已经开始忽略这一点,并且正在努力修改该部分标准,因为它已经过时了。

+0

robots.txt(= PERFECT!“Crawl-delay:10” - 我假设这意味着10秒? –

相关问题