python 爬虫反爬策略
爬虫和反爬的对抗一直在进行着…为了帮助更好的进行爬虫行为以及反爬,今天就来介绍一下网页开发者常用的反爬手段。
1.通过user-agent客户端标识来判断是不是爬虫
解决方法:封装请求头:user-agent
2.封ip
解决方法:设置代理ip
封ip最主要的原因就是请求太频繁。
3.通过访问频率来判断是否是非人类请求
解决方法:设置爬取间隔和爬取策略
4.验证码
解决方法:识别验证码
5. 页面数据不再直接渲染,通过前端js异步获取
解决方法:a:通过selenium+phantomjs来获取数据
b:找到数据来源的接口(ajax接口)
6.能获取列表页,就不获取详情页,为了避免增加请求的数量
解决方法:将详情页放到每条数据中心,第一次爬取先爬取列表。
第二次在从数据库中拿出详情页链接,在做第二次爬取
7.能一次性获取,就不分页获取,正对ajax请求。可以将每一页获取数量调大
本次介绍的是总的方法,后续会以案例的方式把每一个策略分享给大家