网站反爬策略与解决方案

反爬:服务器通过访问者请求中的一些信息来识别访问者,并对访问者进行限制。常见的网站反爬有以下几种:

浏览器在发送请求的时候,会附带一部分浏览器及当前系统环境的参数给服务器,服务器会通过User-Agent的值来区分不同的浏览器;服务器通过请求识别到访问者IP,一个IP在单位时间内访问频率如果超过了预设的阈值,将会对该IP进行访问限制,此时访问就会出现问题;也有很多网站要求访问者必须通过验证码才能继续访问,此时访问网站被限制与访问频率无关。

对于常见的反爬手段,也有对应的解决方案:

①模拟 User-Agent : 通过发送模拟 User-Agent 来通过检验,将要发送至网站服务器的请求的 User-Agent 值伪装成一般用户登录网站时使用的 User-Agent 值。

②调整访问频度: 可以先通过代理IP测试网站的访问频率阈值,然后设置访问频率低于阈值。

③验证码: 使用IP代理,更换爬虫IP;通过算法识别验证码;使用 cookie 绕过验证码;

④模拟登陆: 这类网站需要登陆,一般是由于服务器识别用户账号,并限制用户账号访问速度导致的,建议通过模拟登录的方法如注册为多个账号;也可以采用维持一个会话的方式,例如使用requests库来申明一个session对象,将我们登陆的信息以表单形式发送登陆后,通过这个会话发送get请求或者post请求,但需要测试服务器对账号进行限制的规律;

⑤代理 IP : 通过代理IP 进行更换的方式可有效规避网站检测,但也要注意合法使用。