来源:大庆达内IT培训学校
时间:2020/2/5 17:08:26
大庆Python培训班高新区哪家好,欢迎咨询大庆达内Python培训班,IT培训选达内,17年专业IT培训机构,美国上市集团,开设IT培训班Java、python、大数据、linux、UI、会计等IT培训,泛IT培训和非IT培训共24大课程,了解更多相关培训课程欢迎咨询
一般网站从三个方面反爬虫:用户请求的Headers,用户行为,网站目录和数据加载方式。前两种比较容易遇到,大多数网站都从这些角度来反爬虫。第三种一些应用ajax的网站会采用,这样增大了爬取的难度(防止静态爬虫使用ajax技术动态加载页面)。
1、从用户请求的Headers反爬虫是常见的反爬虫策略
很多网站都会对Headers的User-Agent进行检测,还有一部分网站会对Referer进行检测。如果遇到了这类反爬虫机制,可以直接在爬虫中添加Headers,将浏览器的User-Agent复制到爬虫的Headers中:或者将Referer值修改为目标网站域名。
2、基于用户行为反爬虫
还有一部分网站是通过检测用户行为,例如同一IP短时间内多次访问同一页面,或者同一账户短时间内多次进行相同操作。大多数网站都是前一种情况,对于这种情况,使用IP代理就可以解决;对于第二种情况,可以在每次请求后随机间隔几秒再进行下一次请求。
3、动态页面的反爬虫
上述的几种情况大多都是出现在静态页面,还有一部分网站,我们需要爬取的数据是通过ajax请求得到,或者通过Java生成的。
解决方案:Selenium+PhantomJS。Selenium:自动化web测试解决方案,完全模拟真实的浏览器环境,完全模拟基本上所有的用户操作;PhantomJS:一个没有图形界面的浏览器。
常见的反爬策略主要有:
IP限制
UA限制
Cookie限制
资源随机化存储
动态加载技术
对应的反爬处理手段主要有:
IP代理池技术
用户代理池技术
Cookie保存与处理
自动触发技术
抓包分析技术+自动触发技术
版权所有:搜学搜课(www.soxsok.com)