我正在与一位图书管理员合作,重新构建其组织的数字摄影档案。
我用Python构建了一个机器人机械化 http://wwwsearch.sourceforge.net/mechanize/ and 美丽汤 http://www.crummy.com/software/BeautifulSoup/从集合中提取约 7000 个结构不良且轻微不正确/不完整的文档。数据将被格式化为电子表格,他可以用它来纠正它。现在,我估计总共有 7500 个 HTTP 请求来构建搜索字典,然后收集数据,这还不包括我的代码中的错误和重做,随着项目的进展,还会有更多请求。
我假设我发出这些请求的速度存在某种内置限制,即使没有,我也会让我的机器人延迟,以礼貌地对待负担过重的网络服务器。我的问题(诚然不可能完全准确地回答)是在遇到内置速率限制之前我可以多快发出 HTTP 请求?
我不想发布我们正在抓取的域的 URL,但如果相关,我会询问我的朋友是否可以分享。
注意:我意识到这是not解决我们问题的最佳方法(重新构建/组织数据库),但我们正在构建一个概念验证,以说服上级相信我的朋友拥有数据库的副本,他将从中进行导航让我直接处理数据所必需的官僚机构。
他们还为我们提供了 ATOM feed 的 API,但它需要关键字来搜索,并且对于逐步浏览特定集合中的每张照片的任务来说似乎毫无用处。
HTTP 没有内置的速率限制。大多数常见的 Web 服务器都没有配置开箱即用的速率限制。如果速率限制到位,则几乎可以肯定它是由网站管理员设置的,您必须询问他们配置了什么。
一些搜索引擎尊重 robots.txt 的非标准扩展,该扩展建议速率限制,因此请检查Crawl-delay
in robots.txt
.
HTTP确实有一个并发连接两个连接的限制,但浏览器已经开始忽略这一点,并且正在努力修改标准的这一部分,因为它已经过时了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)