9种常见的反爬虫策略思路
反爬虫,是指对扫描器中的网络爬虫环节进行反制,通过一些反制策略来阻碍或干扰爬虫的正常爬行,从而间接地起到防御目的。
爬虫的反制策略有很多,总体可归为基于IP的反爬虫和基于爬行的反爬虫两大类。
对于基于IP的反爬虫,主要思路就是通过人为或部分策略来识别出爬虫的IP并进行屏蔽、阻止、封禁等操作。
对基于爬行的反爬虫,其思路主要是在爬虫的爬行中设置爬行障碍,让其陷入死循环;或者用一些无意义的URL来填充其爬行队列,从而阻止其对正常URL进行后续的漏洞审计。
9种常见的反爬虫策略思路
01 封IP
网站运维人员在对日志进行分析时有时会发现同一时间段内某一个或某几个IP访问量特别大,由于爬虫是通过程序来自动化爬取页面信息的,因此其单位时间的请求量较大,且相邻请求时间间隔较为固定,这时就基本可以判断此类行为系爬虫所为,此时即可在服务器上对异常IP进行封锁。
02 封User-Agent
User-Agent是请求头域之一,服务器从User-Agent对应的值中是被客户端的使用信息。
User-Agent的角色就是客户端的身份标识。很多的爬虫请求头就是默认的一些很明显的爬虫头python-requests/2.18.4,诸如此类,当发现携带有这类headers的数据包,直接拒绝访问,返回403错误。
除了User-Agent之外,可利用的头域还有Host和Referer。这种验证请求头信息中特定头域的方式既可以有效地屏蔽长期无人维护的爬虫程序,也可以将一些爬虫初学者发出的网络请求拒之门外。
03 封Cookie
Cookie反爬虫指的是服务器通过校验请求头中的Cookie值来区分正常用户和爬虫程序的手段,服务器对每一个访问网页的人都会给其一个Cookie,有的扫描爬虫单纯为了爬取链接,并不会对Cookie进行处理和响应。
当某个Cookie访问超过某一个阀值时,就对其进行封禁,过一段时间再放出来。
也可以把Cookie和JavaScript结合起来实现反爬虫从而提高爬虫难度,这种手段被广泛应用在Web应用中。
04 javascript渲染
由 JavaScript 改变 HTML DOM 导致页面内容发生变化的现象称为动态渲染。
由于编程语言没有像浏览器一样内置JavaScript解释器和渲染引擎,所以动态渲染是天然的反爬虫手段。
网页开发者将重要信息放在网页中但不写入html标签中,而浏览器会自动渲染<script>标签中的js代码将信息展现在浏览器当中,而爬虫是不具备执行js代码的能力,所以无法将js事件产生的信息读取出来。
05 验证码验证
当某一用户访问次数过多后,就自动让请求跳转到一个验证码页面,只有在输入正确的验证码之后才能继续访问网站。
06 ajax异步传输
访问网页的时候服务器将网页框架返回给客户端,在与客户端交互的过程中通过异步ajax技术传输数据包到客户端,呈现在网页上,爬虫直接抓取的话信息为空。
07 图片伪装
图片伪装指的是将带有文字的图片与正常文字混合在一起,以达到“鱼目混珠”的效果。
这种混淆方式并不会影响用户阅读,但是可以让爬虫程序无法获得“所见”的文字内容。
08 CSS偏移
这种方法是利用 CSS 样式将乱序的文字排版为人类正常阅读顺序的行为。
如果不细心观察,爬虫工程师很容易被爬取结果糊弄。这种混淆方法和图片伪装一样,并不会影响用户阅读。
独家资源适合长期爬虫业务,IP并发大,API不限调用频率,海量提取,产品安全稳定,支持
http,https,sk5三大协议,适合爬虫(舆情、电商、短视频),抢购,seo等多种业务
PC:
注册即送一万代理IPhttp://console.v4.dailiyun.com/user/?channel=xy-wt
移动
国内短效动态IPhttp://console.v4.dailiyun.com/user/mobile/?channel=xy-wt
9种常见的反爬虫策略思路相关推荐
- python爬取网页防止重复内容_python解决网站的反爬虫策略总结
本文详细介绍了网站的反爬虫策略,在这里把我写爬虫以来遇到的各种反爬虫策略和应对的方法总结一下. 从功能上来讲,爬虫一般分为数据采集,处理,储存三个部分.这里我们只讨论数据采集部分. 一般网站从三个方面 ...
- 常见的一些反爬虫策略(下篇)-Java网络爬虫系统性学习与实战系列(10)
常见的一些反爬虫策略(下篇)-Java网络爬虫系统性学习与实战系列(10) 文章目录 联系方式 反爬虫策略 文本混淆 SVG映射 CSS文字偏移 图片混淆伪装 字体反爬 Referer字段反爬 数据分 ...
- Scrapy绕过反爬虫策略汇总
文章目录 一.Scrapy无法返回爬取内容的几种可能原因 1,ip封锁爬取 2,xpath路径不对 3,xpath路径出现font,tbody标签 4,xpath路径不够明确 5,robot协议 6, ...
- 各大前端巨头反爬虫策略
各大前端巨头反爬虫策略 1. 前言 对于一张网页,我们往往希望它是结构良好,内容清晰的,这样搜索引擎才能准确地认知它. 而反过来,又有一些情景,我们不希望内容能被轻易获取,比方说电商网站的交易额,教育 ...
- 反击“猫眼电影”网站的反爬虫策略
0×01 前言 前两天在百家号上看到一篇名为<反击爬虫,前端工程师的脑洞可以有多大?>的文章,文章从多方面结合实际情况列举了包括猫眼电影.美团.去哪儿等大型电商网站的反爬虫机制.的确,如文 ...
- 代理ip网站开发_网站反爬虫策略,用代理IP都能解决吗?
很多人会使用到网页采集器,其实这也是通过程序来进行采集的,如果没有使用代理IP,采集速度快了,照样是会被封住的.另外,这些网站还有其他的一些反爬策略,同样也会影响到我们采集网页的数据,这是如何限制的呢 ...
- 数据安全之反爬虫策略
数据安全之反爬虫策略,在大前端时代的安全性一文中讲了Web前端和Native客户端如何从数据安全层面做反爬虫策略,今天[云沃客](https://www.clouderwork.com/?utm_so ...
- 使用scrapy做爬虫遇到的一些坑:网站常用的反爬虫策略,如何机智的躲过反爬虫Crawled (403)
在这幅图中我们可以很清晰地看到爬虫与反爬虫是如何进行斗智斗勇的. 在学习使用爬虫时,我们制作出来的爬虫往往是在"裸奔",非常的简单. 简单低级的爬虫有一个很大的优点:速度快,伪装度 ...
- 常见的反爬虫技术有哪些?如何防止别人爬自己的网站?
搜索引擎可以通过爬虫抓取网页信息,同时也有很多企业通过爬虫获取其他平台的信息用于数据分析或者内容优化,但是对于自身网站有些页面或者信息并不希望被爬虫抓取,那我们如何来实现反爬虫技术呢?如何防止别人爬自 ...
- Scrapy应对反爬虫策略
一.设置用户代理 设置User Agent模拟浏览器,在Scrapy框架中,有四种方法设置User Agent. 1.在settings.py中·直接设置User Agent. 2.在settings ...
最新文章
- 开发一个计算机视觉应用,《计算机视觉算法:基于OpenCV的计算机应用开发》 —1 计算机视觉概述...
- C++ Primer 5th笔记(chap 16 模板和泛型编程)模板类型别名
- 科大星云诗社动态20220102
- [转]asp.net中常用的一些小技巧
- do还是doing imagine加to_啤酒,还是精酿好
- 【Java】用for循环实现1+2+3......+100 =
- keras + tensorflow —— 训练参数数目的计算
- linux使用---automake学习(从原理到实践,一步步完成automake)
- reactNative+typescript-三,底部导航器
- 重建大师5.0成为首款支持国产麒麟操作系统的自动实景三维建模软件
- FastStone Capture 画图吸色工具
- 《赖氏经典英语语法》练习三 关系词
- 无线网络 EAP 认证
- 敌兵布阵——线段树单点修改区间查询
- Java读取ID卡卡号源码
- java java.lang.string_无法将java.lang.String字段设置为java.lang.String
- petalinux-build 报错解决
- Pandas合并excel文件错位现象的解决
- 电脑常识——屏幕亮度无法调节
- 1 分钟 Serverless 搭建你的首个个人网站(完成就送猫超卡)