我有一个简单的网络爬虫,可以从网站的站点地图中请求我需要缓存和索引的所有页面。在多次请求之后,该网站开始提供空白页面。
他们的 robots.txt
中没有任何内容除了指向他们的站点地图的链接,所以我认为我没有违反他们的“规则”。我有一个描述性标题,可以准确链接到我的意图,并且我抓取的唯一页面来自他们的站点地图。
http 状态码都还可以,所以我只能想象它们在短时间内阻止了大量的 http 请求。请求之间的合理延迟量是多少?
是否还有其他我忽略的可能导致此问题的注意事项?
最佳答案
每个站点都有不同的爬虫和它寻找的滥用特征。
任何爬虫的关键是模仿人类事件,并遵守 robots.txt。
详尽的爬网会绊倒一些网站,无论你走多慢,它们都会让你关闭,而一些主机不介意爬虫快速拉动并一次性吸走所有内容。
如果一切都失败了,请求的速度不要超过每分钟一页。如果网站以这种速度阻止您,请直接与他们联系 - 他们显然不希望您以这种方式使用他们的内容。
关于web-crawler - 网络爬虫 http 请求的正确礼仪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/798695/