最近研究一个小软件,但遇到对方服务器有反爬机制,有点尴尬。

那就只好先了解看看网站防御爬虫都有哪些方式,好知己知彼


反爬机制主要有两大策略:

01

控制IP访问频率

最常见的基本都会使用代理IP来进行访问,但是对于一般人来说,几万ip差不多是极限了,所以一个ip还是可能多次请求。意味着爬虫需要付出更多的成本投入在IP资源上,IP越多,爬取的成本越高,自然容易劝退一部分人。

02

控制爬取策略

如果简单的只对目标数据进行爬取,反爬系统只要对访问情况和用户行为进行相关分析,其实很简单就能判定爬虫的那堆ip,你除了这堆数据什么都没访问,一看就不是正经用户

当然策略这个东西,就需要更多的博弈了。爬虫要增加迷惑度,需要去访问一些无关的东西,最后是研究正常用户的访问流程,然后模拟一遍。再者,控制速度。毕竟反爬系统的统计区间是肯定有限制的,不可能拿一个月的数据都分析一遍找出爬虫。

反爬系统的存在,意义就在于增加这个成本。当然也需要衡量自身的成本,毕竟不能本末倒置,反爬成本太高就没价值了。

那网站一般用什么措施防范爬虫呢?主要有以下几种:

1、限制IP地址单位时间的访问次数

没有哪个常人一秒钟内能访问相同网站5次,除非是程序访问,而有这种喜好的,就剩下搜索引擎爬虫和讨厌的采集器了。

弊端:一刀切,这同样会阻止搜索引擎对网站的收录

适用网站:不太依靠搜索引擎的网站

爬虫:减少单位时间的访问次数,减低采集效率

2、屏蔽ip

通过后台计数器,记录来访者ip和访问频率,人为分析来访记录,屏蔽可疑ip。

弊端:似乎没什么弊端,就是站长忙了点

适用网站:所有网站,且站长能够知道哪些是google或者百度的机器人

爬虫:打游击战呗!利用ip代理采集一次换一次,不过会降低爬虫的效率和网速)。

3、利用js加密网页内容

搜索引擎爬虫和采集器通杀,搞死人

适用网站:极度讨厌搜索引擎和采集器的网站

爬虫:你那么牛,成本不允许,我不爬了

4、网页里隐藏网站版权或者一些随机垃圾文字,这些文字风格写在css文件中

虽然不能防止采集,但是会让采集后的内容充满了你网站的版权说明或者一些垃圾文字,因为一般爬虫不会同时采集你的css文件,那些文字没了风格,就显示出来了。

适用网站:所有网站

爬虫:对于版权文字,好办,替换掉。对于随机的垃圾文字,没办法,勤快点了。

5、用户登录才能访问网站内容

搜索引擎爬虫不会对每个这样类型的网站设计登录程序。

适用网站:极度讨厌搜索引擎,且想阻止大部分爬虫的网站

爬虫:制作拟用户登录提交表单行为的模块。

6、利用脚本语言做分页(隐藏分页)

搜索引擎爬虫不会针对各种网站的隐藏分页进行分析,这影响搜索引擎对其收录。但是,采集者在编写采集规则时,要分析目标网页代码,懂点脚本知识的人,就会知道分页的真实链接地址。

适用网站:对搜索引擎依赖度不高的网站,还有,采集你的人不懂脚本知识

爬虫:反正都要分析你的网页代码,顺便分析你的分页脚本,花不了多少额外时间。

7、防盗链措施 (只允许通过本站页面连接查看,如:Request.ServerVariables(“HTTP_REFERER“) )

asp和php可以通过读取请求的HTTP_REFERER属性,来判断该请求是否来自本网站,从而来限制爬虫,同样也限制了搜索引擎爬虫,严重影响搜索引擎对网站部分防盗链内容的收录。

适用网站:不太考虑搜索引擎收录的网站。

爬虫:伪装HTTP_REFERER,不难。

8、全flash、图片或者pdf来呈现网站内容

对搜索引擎爬虫和采集器支持性不好,这个很多懂点seo的人都知道

适用网站:媒体设计类并且不在意搜索引擎收录的网站

爬虫:不爬了,走人

9、网站随机采用不同模版

因为采集器是根据网页结构来定位所需要的内容,一旦先后两次模版更换,采集规则就失效,不错。而且这样对搜索引擎爬虫没影响。

适用网站:动态网站,并且不考虑用户体验

爬虫:一个网站模版不可能多于10个吧,每个模版弄一个规则就行了,不同模版采用不同采集规则。如果多于10个模版了,既然目标网站都那么费劲的更换模版,成全他,撤。

10、采用动态不规则的html标签

这个比较变态。考虑到html标签内含空格和不含空格效果是一样的,所以< div >和< div>对于页面显示效果一样,但是作为采集器的标记就是两个不同标记了。如果每次页面的html标签内空格数随机,那么采集规则就失效了。但是,这对搜索引擎爬虫没多大影响。

适合网站:所有动态且不想遵守网页设计规范的网站

爬虫:还是有对策的,现在html cleaner还是很多的,先清理了html标签,然后再写采集规则;应该用采集规则前先清理html标签,还是能够拿到所需数据。

了解了以上一些常见反爬措施,就可以对症下药了,大不了模拟人工操作

- End -

更多精彩文章

点击下方名片关注【偶尔敲代码】

点亮小花 让更多人了解

网站防御爬虫攻击的几种方式相关推荐

  1. 防火墙、CDN、WAF等防御CC攻击的几种方式

    一,防御方式  1)JavaScript方式输出入口  演示可以看下面这张图:     第一次访问的时候,不是直接返回网页内容,而且返回这段JS程序.   作用就是计算出入口变量的值,然后在访问的网址 ...

  2. web服务器攻击的八种方式

    随着互联网的高速发展,网络走进了千家万户,同时也有很大一部分人架设起了自己的网站.继而不安分的黑客们,又将目光对准了服务器攻击这个方式,从而破坏或取得服务器的管理权限.本文将主要讲述针对web服务器攻 ...

  3. IIS寄托多网站找到对应ID的两种方式

    阅文时长 | 0.2分钟 字数统计 | 320.8字符 主要内容 | 1.引言&背景 2.IIS视图查看 3.appcmd CLI 4.声明与参考资料 『IIS寄托多网站找到对应ID的两种方式 ...

  4. 防御DDoS攻击的十一种方法

    对于遭受DDoS攻击的情况是让人很尴尬的,如果我们有良好的DDoS防御方法,那么很多问题就将迎刃而解,我们来看看我们有哪些常用的有效地方法来做好DDoS防御呢. 对于DDoS防御的理解: 对付DDoS ...

  5. Nginx简单防御CC攻击的两种方法

    CC攻击可以归为DDoS攻击的一种.他们之间都原理都是一样的,即发送大量的请求数据来导致服务器拒绝服务,是一种连接攻击.CC攻击又可分为代理CC攻击,和肉鸡CC攻击.代理CC攻击是黑客借助代理服务器生 ...

  6. 转载:网站取得定向流量的三种方式

    定向流量是访问者通过搜索引擎输入关键词或者是看到某个广告,感到合适本人的需要而访问你的网站,从而给你的网站到来的流量.网站的固定流量通常就是定向流量(并不相对),他们天天自动拜访你的网站就是为了看站上 ...

  7. 从Maven中央仓库网站下载jar包的两种方式,将会伴随java后端开发者的整个职业生涯

    这个肥肠重要的网站就是:https://mvnrepository.com/ 下面我会以mysql-connector-java-8.0.26.jar为例,教会你使用两种方式下载使用jar包资源 首先 ...

  8. Scrapy爬虫框架 启动几种方式

    初学者很多是在终端启动scrapy,但是真正实战中我们可以另外创建一个启动脚本,方便我们管理项目的启动 在Scrapy项目根目录下创建一个 run.py 的文件 from scrapy import ...

  9. WiFi攻击的三种方式

    2019独角兽企业重金招聘Python工程师标准>>> 导读 WiFi的安全问题已经引起了不少的使用者重视,甚至已经出现草木皆兵的现象.那么黑客到底是如何做到绕过身份验证来获取WiF ...

最新文章

  1. unity中的UI状态机,用于各界面之间的切换和跳转
  2. 机器学习竞争其实是一场数据上的竞争
  3. jmeter 线程执行顺序_面试官让我说出8种线程顺序执行的方法!我懵了
  4. miui11禁止更新方法
  5. 光流 | MATLAB实现HS Optical Flow(代码类)
  6. Android开发三 如何安装 Android SDK 和Eclipse 插件
  7. 不同设备屏幕尺寸和DPR适配
  8. Java-杂项:Java数组Array和集合List、Set、Map
  9. OA应用案例:采矿业如何应用OA办公系统
  10. 创建一个JFrame,可下拉选择显示字符串和图片
  11. 在 Ubuntu 上配置高性能的 HHVM 环境
  12. ai人工智能数据处理分析_建立数据平台以实现分析和AI驱动的创新
  13. python滑动验证_Python实现图片滑动式验证识别方法
  14. xamarin android界面框架,Xamarin图表开发基础教程(3)OxyPlot框架
  15. Cisco 计算机网络课程设计 某校园网设计
  16. NYOJ-171 聪明的kk
  17. 如何解决MathType公式与文字不在同一行问题---已解决
  18. html一键打包注册表,离线修改或批量导入目标系统注册表工具(支持PE和挂载系统操作)...
  19. sm缩写代表什么意思_在嘉庚,这些缩写都是SM意思???
  20. SkeyeLive同屏直播库库功能介绍和接口说明与调用

热门文章

  1. 中国人不便宜了,医疗信息化才有希望
  2. 插件 | 蛋白序列集合功能注释快速完成 - Quick Protein Anno
  3. Python--自动切换壁纸
  4. 英飞凌 AURIX TC3XX 系列单片机的 NVM-Flash 介绍
  5. 黑猫带你学UFS协议第11篇:两万字详解UFS协议信息单元(UPIU)
  6. HTTPS网站提示证书有安全问题的解决方案
  7. 你不得不知的北京十大驾校
  8. 十二、Cadence 514 614 Calibre license许可问题
  9. 转载:对大学 IT 专业教育的反馈
  10. 条码打印机.双面胶.樱花红