反爬技术研究 — 网站常用的反爬技术有哪些?
user-agent
- 数据请求头,最初级的反爬,只要在请求中模拟请求头即可轻松飘过。
验证码
- 验证码是最常用的反爬虫措施,但简单验证码通过机器学习自动识别,通常正确率能达到50%以上甚至更高。
- 复杂验证码通过提交到专门的打码平台进行人工打码,依据验证码的复杂度,打码工人平均每码收1-2分钱,成本比较低。也同样容易被绕过,使得数据容易被爬取。
封IP
- 这是最有效也最容易误杀的方案。该策略建立在 IP 稀有的前提下,目前通过代理池购买,ADSL,或者拨号 VPS 等方式,可以低成本获取数十万的 IP 池,导致单纯的封IP策略效果越来越差。
滑块验证
- 滑块验证结合了机器学习技术,只需要滑动滑块,而不用看那些复杂到有时人眼也无法分辨的字母。但由于部分厂商实现时校验算法较为简单,导致经常只需要相对简单的模拟滑动操作就能绕过,从而使得数据被恶意爬取。
- 类似案例:淘宝,阿里云,淘宝联盟
关联请求上下文
- 反爬虫可以通过 Token 或网络请求上下文是否进行了完整流程的方式来判断是否真人访问。但对具有协议分析能力的技术人员来说进行全量模拟并没有太大困难。
- 类似案例:知乎,百度登录过程。