Python爬虫反反爬总结

针对以下各反爬手段的反制措施

Headers

最基本的反爬手段,一般被关注的变量是UserAgent和Refer,可以考虑使用浏览器里的。其中的ContentLength字段requests包会填写,可以不用。Content-Type字段是post表单的格式,必须和网站的一样。

UA

待续

拉黑高频访问IP

数据量大用IP池(伪装成多个访问者),爬取速度要求低用sleep()(伪装成人类频率的访问)

Cookies

实时更新,cookies[response.cookies.name] = response.cookies.value

遇到请求被重定向的情况,要么用requests.session记录全过程返回的cookie,要么用response.request.headers.get("Cookie"),后者的返回值是一个"cookie.name=cookie.value"的字符串。

验证码

一种简单易于操作但较难反反爬的手段。验证码数量较少的情况可以人工填写,验证码出现次数多的情况只能训练机器学习模型自动填写。

动态生成

一般由js动态生成的数据都是向特定的地址发get请求得到的,返回的可能是json也可能是html或xml,观察其地址构造、数据结构,模拟请求。

字体反爬

js加密

更多反爬方式?:http://litten.me/2017/07/09/prevent-spiders/

你可能感兴趣的:(Python,爬虫,爬虫)