-1

我编写了一个简单的爬虫程序,他的工作是浏览网站的几个不同页面。做一些解析,调用一些通过 AJAX 调用的 URL,并将数据存储在数据库中。

麻烦的是,有时我的 ip 在我的爬虫执行后被阻止。我可以采取哪些步骤来防止我的 ip 被阻止?有什么推荐的做法吗?我在请求之间添加了 5 秒的间隔,几乎没有效果。该网站是中型的(需要抓取几个 URL),而且我的互联网连接速度很慢,所以脚本运行了一个多小时。使用更快的网络连接(如托管服务)会有帮助吗?

基本上我想编写一个表现良好的机器人。

最后,我不是在发帖或发送垃圾邮件。

编辑:我想我会把我的脚本分成 4-5 个部分,并在一天中的不同时间运行它们。

4

3 回答 3

2

您可以使用旋转代理,但这不是一个表现良好的机器人。你看过网站的 robots.txt 吗?

于 2012-05-09T01:52:45.623 回答
1

编写您的机器人,使其更有礼貌,即不要按顺序获取所有内容,而是在战略位置添加延迟。

于 2012-05-08T15:29:06.190 回答
0

遵循 robots.txt 中设置的指南是很好的第一步。有 import.io 和 morph.io 等工具。还有用于服务器的包/插件。例如X 射线;一个 node.js,它可以帮助快速编写负责任的抓取工具,例如油门、延迟、最大连接数等。

于 2015-12-29T22:15:39.183 回答