最基本的反爬手段,一般被关注的变量是UserAgent和Refer,可以考虑使用浏览器里的。其中的ContentLength字段requests包会填写,可以不用。Content-Type字段是post表单的格式,必须和网站的一样。
待续
数据量大用IP池(伪装成多个访问者),爬取速度要求低用sleep()(伪装成人类频率的访问)
实时更新,cookies[response.cookies.name] = response.cookies.value
遇到请求被重定向的情况,要么用requests.session记录全过程返回的cookie,要么用response.request.headers.get("Cookie"),后者的返回值是一个"cookie.name=cookie.value"的字符串。
一种简单易于操作但较难反反爬的手段。验证码数量较少的情况可以人工填写,验证码出现次数多的情况只能训练机器学习模型自动填写。
一般由js动态生成的数据都是向特定的地址发get请求得到的,返回的可能是json也可能是html或xml,观察其地址构造、数据结构,模拟请求。
略
略
更多反爬方式?:http://litten.me/2017/07/09/prevent-spiders/