web-crawler – 网络爬虫http请求的正确礼仪

我有一个简单的网络爬虫来请求网站的站点地图中我需要缓存和索引的所有页面.经过多次请求后,网站开始提供空白页面.

除了链接到他们的站点地图之外,他们的robots.txt中没有任何内容,因此我假设我没有违反他们的“规则”.我有一个描述性标题,链接到我的意图,我抓取的唯一页面来自他们的站点地图.

http状态代码仍然可以,所以我只能想象它们会在短时间内阻止大量的http请求.什么被认为是请求之间的合理延迟?

我是否忽略了可能导致此问题的任何其他考虑因素?

解决方法

每个网站都有不同的抓取和滥用特征.

任何爬虫的关键是模拟人类活动,并遵守robots.txt.

一次详尽的爬行会让一些网站绊倒,无论你走得多慢,它们都会让你失望,而一些主机并不介意爬行者一气呵成,一气呵成.

>一般情况下,您不希望以每分钟6次(约人速)的速度请求页面.
>按照网页上的可见性顺序,您将更安全地关注链接.
>尝试忽略网页上看不到的链接(很多人使用蜜罐).

如果所有其他方法都失败了,请不要超过每分钟一页的请求.如果某个网站以此费率阻止您,请直接与他们联系 – 他们显然不希望您以这种方式使用他们的内容.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些