如何隐藏攻击性爬虫?

时间:2012-12-25 12:45:23

标签: php web-crawler

我打算抓取特定网站。我有3000个特定页面,我想每隔几个月抓一次。我已经创建了一个爬虫,但我不想被禁止访问该网站。

有没有办法减少抓取工具的侵略性或以某种方式隐藏它,以免被“注意到”或导致我正在抓取的提供商/网站出现问题?

延迟是可能的,但是如果我将它设置为每页10-30秒的延迟,那么它将需要永远。

制作可接受的抓取工具的任何提示或指南?

2 个答案:

答案 0 :(得分:1)

另一种解决方案是使用 PROXY服务器提供商(例如,例如this one )并在每次 X 请求时轮换IP地址。此特定提供程序具有 API 以即时检索IP。如果谈论 PHP cURL 可以很容易地用于此目的。

这种技术在大多数情况下都有效,但需要更多的计划和调整。无论如何,你将面临一些限制。它可以作为时间问题以及每个时期的请求数量与时间问题几乎相同。或者您需要更多代理服务器来满足您的时间要求。

仔细阅读提供商的 TOS 。此特定提供商不允许您被Google和其他一些网站禁止。否则您的帐户也将被禁止。

答案 1 :(得分:0)

“可接受”是一个相对术语。一些网站所有者拥有足够的处理能力和带宽,他们不认为每小时扫描3000页是“积极的”。一些网站所有者为带宽或处理能力而苦苦挣扎,无法跟上每天3000页的阅读量。

如果您想阅读页面并获取当前内容,则必须阅读这些页面。这没有捷径。