反爬虫类型
User-Agent识别
修改请求头信息里的User-Agent
请求头信息识别
referer,content-type , 请求方法(post,get)
构造响应的信息头信息
提取URL的时候,把URL所在页面的URL也存储起来,放到request.header中
异步加载
需要分析页面的网络请求,从中找出想要的数据相关的请求,并分析请求头信息、参数、cookie,然后根据这些信息构造请求。通常都是ajax请求,也有图片请求,如lazy load,通过js在页面加载后修改图片属性,有自定义属性存在,如src,可以找到一些ID或者链接,观察相关dom节点树上的特殊属性。
请求参数加密
通过一定的计算,构造哈希值,需要分析前端代码,找出具体计算的代码逻辑,并实现,如果前端代码经过混淆,代码量十分巨大,可以使用selenium splash 等js引擎。
但是如果爬取的数据需求量比较大,还是直接调用对方接口的形式获取数据。
请求结果加密
json数据里面加密
css加密