爬虫中常见的4种反爬虫策略
- 更新时间:2021-08-09 08:18:07
- 编辑:傅同济
参考资料
- 地理信息系统概论(第3版) 课后答案 / 41.3 KB / 黄杏元 马劲松 推荐度:
- parkrun Extended Info / 54.71 KB / 信息 推荐度:
- 应用信息论基础 课后答案 / 1.26 MB / 朱雪龙 推荐度:
- 自己动手写网络爬虫 PDF 电子书 / 27.3MB / 罗刚 推荐度:
- 《大学信息技术应用基础上机实验指导与测试》素材 配套资源 / 5.68 MB / 吴泽晖 推荐度:
正文内容
《爬虫中常见的4种反爬虫策略》是一篇值得学习的技术文章,代码整理的很实用,扩充了更多相关实例,为了大家阅读方便。
1.IP封锁
站点运行人员在分析日志时,有时会发现在同一时间段内有一个或多个IP访问量特别大,因为这种爬虫是通过程序自动完成爬虫爬取页面信息的,所以它的请求量在单位时间内很大,并且相邻请求时间间隔比较固定,这时就可以基本判断出此类行为系爬虫所为。
解决方案:可以使用太阳爬虫http代理或自建ip池,http代理可以助力采集,突破限制轻松抓取数据。
2.封User-Agent
User-Agent是请求领域之一,服务器从与User-Agentent对应的值中使用的信息。
User-Agent的角色是客户端的身份识别。许多爬虫请求头是默认情况下一些非常明显的爬虫头python-requests/2.18.4,等等,当发现带有此类headers的数据包时,直接拒绝访问,返回403错误。
解决方案:
除User-Agent外,还可以使用Host和Referer。这一验证请求头信息中特定头域的方法,不仅能有效地屏蔽长期无人维护的爬虫程序,而且还能拒绝一些初学者发出的网络请求。
3. javascript渲染,由 JavaScript 改变 HTML DOM 导致页面内容发生变化的现象称为动态渲染。
由 JavaScript 改变 HTML DOM 导致页面内容发生变化的现象称为动态渲染。
由于编程语言没有像浏览器一样内置JavaScript解释器和渲染引擎,所以动态渲染是天然的反爬虫手段。
网页开发者将重要信息放在网页中但不写入html标签中,而浏览器会自动渲染<script>标签中的js代码将信息展现在浏览器当中,而爬虫是不具备执行js代码的能力,所以无法将js事件产生的信息读取出来。
4.封Cookie
Cookie反爬虫指的是服务器通过校验请求头中的Cookie值来区分正常用户和爬虫程序的手段,服务器对每一个访问网页的人都会给其一个Cookie,有的扫描爬虫单纯为了爬取链接,并不会对Cookie进行处理和响应。
当某个Cookie访问超过某一个阀值时,就对其进行封禁,过一段时间再放出来。
也可以把Cookie和JavaScript结合起来实现反爬虫从而提高爬虫难度,这种手段被广泛应用在Web应用中。
(推荐操作系统:windows7系统、Internet Explorer 11,DELL G3电脑。)
相关教程
-
jQuery Ajax实现跨域请求
这篇文章主要为大家详细介绍了jQuery Ajax实现跨域请求的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
发布时间:2019-07-24
-
axios发送post请求springMVC接收不到参数的解决方法
下面小编就为大家分享一篇axios发送post请求springMVC接收不到参数的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
发布时间:2019-07-24