我有一个简单的网络爬虫来请求网站的站点地图中我需要缓存和索引的所有页面.经过多次请求后,网站开始提供空白页面.
robots.txt
除了链接到他们的站点地图之外,他们没有任何东西,所以我认为我没有打破他们的"规则".我有一个描述性标题,链接到我的意图,我抓取的唯一页面来自他们的站点地图.
http状态代码仍然可以,所以我只能想象它们会在短时间内阻止大量的http请求.什么被认为是请求之间的合理延迟?
我是否忽略了可能导致此问题的任何其他考虑因素?
每个网站都有不同的抓取和滥用特征.
任何爬虫的关键是模拟人类活动,并遵守robots.txt.
一次详尽的爬行会绊倒一些网站,无论你走得多慢,它们都会让你失望,而一些主机并不介意爬行者一气呵成,一气呵成.
一般来说,您不希望以每分钟6次(约人速)的速度请求页面.
按照网页上的可见性顺序,您将更安全地关注链接.
尝试忽略网页上看不到的链接(很多人使用蜜罐).
如果所有其他方法都失败了,请不要超过每分钟一页的请求.如果某个网站以此价格阻止您,请直接与他们联系 - 他们显然不希望您以这种方式使用他们的内容.