第一阶段:
爬虫:用urllib或者requests库不断的遍历某页面,根据html来分析页面并存到数据库
反爬:发现某一时间段的请求量突增,分析日志发现都是统一IP,并且user-agent都是Python,基于这两点发现是非人类后直接在服务器上进行封杀
第二阶段:
爬虫:(1)user-agent模仿百度的;(2)IP每爬一段时间就换一个IP代理
反爬:在服务器上设置一个频率限制,每分钟超过多少次请求后再屏蔽IP,同时也考虑到可能是百度自己的爬虫,于是通过hostname检查一下IP是不是真的是百度,然后对百度自己家的设置一个白名单
第三阶段:
爬虫:设置随机多长时间爬一次,每爬多少次休息一下,然后每天在正常用户的访问高峰期进行爬,然后再隔一个长的时间段休息一下
反爬:设置在某一个时间段内访问超过多少次之后弹出验证码,没有正确输入的拉入黑名单
第四阶段:
爬虫:用图像识别等技术对验证码进行二值化,分调,模式训练之后,破解了验证码
反爬:数据并不直接进行渲染,由前端异步获取,通过js的加密生成动态的token,同时加密库再进行混淆
第五阶段:
爬虫:进行慢慢调试,然后找到加密的原理,或者通过selenium等技术模拟浏览器进行抓取
反爬:~~~~~~