应对网站反爬虫策略的五种措施

353 阅读2分钟

爬虫程序目前已经成为了获取互联网数据最为主流的方法,但对于网站服务器而言,爬虫程序只会对自身服务器造成负荷,因此大部分网站都设置了反爬虫策略来应对爬虫。而对于爬虫工作者而言,知晓如何应对网站服务器的反爬虫策略就尤为重要了:

图片1.png

1.对于处理验证码,爬虫爬久了通常网站的处理策略就是让用户输入验证码验证是否机器人,此时有三种解决方法:

第一种把验证码down到本地之后,手动输入验证码验证,此种成本相对较高,而且不能完全做到自动抓取,需要人为干预;

第二种图像识别验证码,自动填写验证;

第三种也是最实用的一种,接入自动打码平台。

2.多账号反爬,有很多的网站会通过同一个用户单位时间内操作频次来判断是否机器人,比如像新浪微博等网站。这种情况下我们就需要先测试单用户抓取阈值,然后在阈值前切换账号其他用户,如此循环即可。当然,新浪微博反爬手段不止是账号,还包括单ip操作频次等。

3.分布式爬虫,分布式能在一定程度上起到反爬虫的作用,当然相对于反爬虫分布式最大的作用还是能做到高效大量的抓取。

4.保存cookies,记录用户的状态,在模拟登陆十分麻烦的情况下,我们不妨直接在web上登陆之后取下cookie并保存然后带上cookie做爬虫,但这不是长久的方法,而且cookie隔一段时间可能失效。有的网站会根据cookie中的一些值去判断是否机器人,这个需要用户自身不断测试。

5.注意配合移动端、web端以及桌面版,其中web端包括m站即手机站和pc站,往往是pc站的模拟抓取难度大于手机站,所以在m站和pc站的资源相同的情况下优先考虑抓取m站。同时如果无法在web端抓取,不可忽略在app以及桌面版的也可以抓取到目标数据资源。