注册
登录
提问时间:2019/8/2 16:08:02    楼主:未知网友   阅读量:114

大多数情况下,爬虫工作遇到最多的问题是访问频率限制。如果访问频率太快太反人类,IP将会受到目标网站的限制,这是目标网站服务器为减轻负载压力自我保护的一种措施,也就是我们常说的反爬策略。我们在访问一些大流量网站(如12306)时,即便是真的人工操作,可能因为是鼠标点的太快,或者刷新几下页面,都会提示“操作频率太快,请稍候再试”。

遇到这种情况,我们也只能放慢速度,降低访问频率,比如5秒钟访问一次页面,这样就可以避免上述情况的发生,但有些网站可能会检测到你访问了几十上百次都是5秒的访问频率,人类哪有这么厉害呢,肯定是爬虫,进而封IP。所以我们还可以设置一个随机值来作为访问时间间隔,比如3-10秒之间的随机秒数。

有一些网站,服务器会限制访问频率,但并不会封IP,页面将持续显示403(服务器拒绝访问),偶尔显示200(请求成功),那么就证明(前提是我们设置过请求头等信息),这样的反爬机制,只是限制了请求的频率,但是并不会影响到正常的采集,当然这样的情况也不多见,所以我们要学会针对性地写爬虫。

还有一些网站,在我们将请求的参数都安排好之后,却发现,由于服务器的性能原因,采集程序持续报网页404,出现这种情况我们只能延长响应超时的时长,如下图所示:

降低访问频率,无疑会降低爬虫的工作效率,无法及时的完成工作任务。这个时候可以使用代理IP来解决这个问题,如果使用100个代理IP访问100个页面,可以给网站造成一种有100个人,每个人访问了一个页面的错觉。这样自然而然就不会限制你的访问了。

这里给大家推荐站大爷的短效优质代理IP,IP日流水量大,IP响应时间快,快速稳定,非常适合爬虫工作,欢迎各位有需要的朋友前来咨询。