我打算抓取一个特定的网站。我有3000个特定的页面,我想每隔几个月抓取一次。我已经创建了一个爬虫,但我不想被禁止访问该网站。
有没有办法减少爬虫的攻击性,或者以某种方式隐藏它,这样就不会被“注意”,也不会给我正在爬行的提供商/网站带来问题?
延迟是可能的,但如果我将其设置为每页10-30秒的随机延迟,那么它将永远花费时间。
制作一个可接受的爬虫的ANy提示或指南?
发布于 2012-12-25 21:52:53
另一种解决方案是使用代理服务器提供商(例如 ),并在每X个请求中轮换IP地址。这个特定的提供程序有一个API来动态检索IP。如果谈到cURL,可以很容易地使用它来实现这一目的。
这种技术在大多数情况下都有效,但它需要更多的计划和调优。无论如何,您将面临一些限制。它可以是时间问题,也可以是每个周期的请求数量,这与时间问题几乎是相同的。或者,您将需要更多的代理服务器来满足您的时间要求。
并仔细阅读供应商的TOS。这个特定的提供商不允许你被Google和其他一些网站禁止。否则,您的帐户也将被禁止。
发布于 2012-12-25 20:48:06
“可接受”是一个相对的术语。一些网站所有者有足够的处理能力和带宽,他们不认为每小时扫描3000个页面是“激进的”。一些网站所有者为带宽或处理能力而苦苦挣扎,无法跟上每天3000个页面的阅读量。
如果您想要阅读页面并获取当前内容,则必须阅读这些页面。这是没有捷径可走的。
https://stackoverflow.com/questions/14030762
复制相似问题