©作者 | leo

01 什么是爬虫?

爬虫,见名知义,就好似一个探索的小机器人,模拟人的行为,扩散到网络的各个角落,按照一定的规则搜集整理数据,并且将他们反馈回来。这是一个很形象的方式来描述爬虫的原理。

技术角度,爬虫主要是根据一定的程序规则或者技术指标,通过网络请求的方式来获取资源,然后对获取的资源通过一定的解析手段提取所要信息并存储的过程。

02 为什么会产生反爬虫?

你见过的最变态的验证码是什么呢?是要考察小学数学的验证码,还是考察人文知识的验证码,现在越来越多的奇葩验证码的出现,在一定程度上给我们这些访客带来了很多不便,但是它们的出现真正的目的并不是给用户增加使用难度,而是为了防止大多数的无节制访问的爬虫程序。

爬虫程序的访问速度和目的是很容易被发现与正常用户的区别的,大多数爬虫具有无节制,大批量对访问目标进行爬取的行为,这些访问请求会对访问目标带来巨大的服务器压力和不必要的资源投入,因此常被运营者定义为‘垃圾流量’。

因此,为了更好的维护自身的利益,营业者就会针对爬虫的特点应用不同的手段来防止大批量爬虫的访问。

根据反爬的出发点,可以将反爬限制手段分为:

• 主动型限制:开发者会通过技术手段主动的限制爬虫的访问请求,如:验证请求头信息,限制同ip的重复访问,验证码技术等等

• 被动型限制:开发者为了节省访问资源的同时也不降低用户体验,采用了间接的技术手段限制爬虫访问的方法,如:网页动态加载,数据分段加载,鼠标悬停预览数据等等。

• 而从具体的反爬虫实现手段上来进行划分,则可大致分为:信息验证型反爬虫,动态渲染型反爬虫,文本混淆型反爬虫,特征识别型反爬虫。爬虫与反爬虫无异于一场攻防博弈,既有竞争关系,也有相互促进的可能。

常见的反爬策略以及应对措施:

信息校验型爬虫:

a. User-Agent发爬虫:

基本原理:能够向服务器端发送请求的客户端形式多种多样,既可以是不同型号的个人电脑,手机,平板电脑,编程程序,也可以是网络请求软件,那么服务器该如何识别这些不同的客户端呢?

User-Agent便是这样一个用户发送请求时附带的请求信息的记录。它的主要格式包括如下几个部分:

【数据分析】2种常见的反爬虫策略,信息验证和动态反爬虫相关推荐

  1. python爬虫反爬策略_用Python语言做爬虫有哪些策略可以对抗反爬虫?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 作为爬虫工程师,时常要为不断更新的反爬虫策略而苦恼,究竟是魔高一尺还是道高一丈,从来就没有真正的分出过胜负,一个为了完成爬虫工作,一个为了保卫网站不被爬虫 ...

  2. python应对反爬虫策略_如何应对网站反爬虫策略?如何高效地爬大量数据?

    看了回答区,基本的反爬虫策略都提到了,下面说几个作为补充. 1.对于处理验证码,爬虫爬久了通常网站的处理策略就是让你输入验证码验证是否机器人,此时有三种解决方法:第一种把验证码down到本地之后,手动 ...

  3. python 爬虫解决登录验证问题_python网络爬虫的简单实践——解决无验证模拟登陆问题...

    正文开始以前先唠叨几句,一直以来都是自己在网络各大论坛上向大佬们学习东西,如今因为疫情困在家里写毕设,闲余之时也瞎捣鼓了一下,于是想在这里写一点东西,算是自己学习的一个笔记,再一个就是发现网上的教程质 ...

  4. python 反爬策略_如何应对网站反爬虫策略?如何高效地爬大量数据?

    爬虫(Spider),反爬虫(Anti-Spider),反反爬虫(Anti-Anti-Spider),这之间的斗争恢宏壮阔... Day 1 小莫想要某站上所有的电影,写了标准的爬虫(基于HttpCl ...

  5. python爬虫反爬策略_抖音字体反爬,爬虫字体反爬策略——每周一个爬虫小教程系列...

    在B站上看到一个关于抖音字体反爬的视频,看完之后,精神抖擞,不禁感觉,我又行了,于是在模拟器上下载了一个抖音,打开了我尘封已久的抖音号. 可以看见显示的数字是正常的,但是查看源码就是错误的. 既然是字 ...

  6. SLAM的数学基础(3):几种常见的概率分布的实现及验证

    转自:https://www.cnblogs.com/cyberniklee/p/7977142.html 分布,在计算机学科里一般是指概率分布,是概率论的基本概念之一.分布反映的是随机或某个系统中的 ...

  7. java爬虫系列(四)——动态网页爬虫升级版

    项目地址 项目介绍 框架 结构 快速启动 修改配置文件 WebDriverPool.java App.java ComicDriver.java ComicContentService.java co ...

  8. 爬虫反爬机制及反爬策略

    参考:https://www.cnblogs.com/LLBFWH/articles/10902533.html 爬虫是一种模拟浏览器对网站发起请求,获取数据的方法.简单的爬虫在抓取网站数据的时候,因 ...

  9. 各大前端巨头反爬虫策略

    各大前端巨头反爬虫策略 1. 前言 对于一张网页,我们往往希望它是结构良好,内容清晰的,这样搜索引擎才能准确地认知它. 而反过来,又有一些情景,我们不希望内容能被轻易获取,比方说电商网站的交易额,教育 ...

  10. 反爬虫策略调研与分析

    爬虫时代 在互联网上,各类的信息数据相当大一部分是发布在Web页面上的,于是一大批以此为生的网站便诞生了. baidu和google便成为其中的佼佼者,它们是这个星球上最大牌的爬虫,最多的爬虫,为这个 ...

最新文章

  1. SA-SSD:阿里达摩院最新3D检测力作(CVPR2020)
  2. ThreadLocal_OSIV模式_FIlter_Web ajax
  3. Linux Shell 常用命令与目录分区的学习总结
  4. 3种思路,快速打破制造业质量追溯困境,成为行业领先企业
  5. java 监听request_ServletRequest 监听器
  6. 阿里云的工程师要被祭天了?
  7. hive 开窗函数之lag,lead,first_value,last_value
  8. 分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)...
  9. Error parsing YAML config file: yaml-cpp: error at line
  10. 版本 tomcat_Tomcat爆出安全漏洞!Spring Cloud/Boot框架多个版本受影响
  11. 使用Volley+OkHttp+Gson加速Android网络开发
  12. oracle mysql 中文排序规则_Oracle 对汉字的order by排序规则
  13. APNS(Apple Push Notification Service)远程推送原理解析
  14. bootstrap4 利用m- p-调整元素之间距离
  15. 诊断和响应故障_恢复表和表分区
  16. JS逆向入门学习之回收商网,手机号码简易加密解析
  17. 02-02-JS-jQuery-HTTP-Servlet
  18. 关于jxl的一点知识
  19. 023-zabbix性能优化中的几个中肯建议
  20. mysql数据库有merge into 吗

热门文章

  1. 视频p2p php,m3u8视频播放器集成p2p加速源码分享
  2. SSIM结构相似性算法
  3. HDB3码编码规则通俗易懂讲解
  4. 利用UDP端口转发绕过校园网认证
  5. CSDN博客专家证书发放名单(10月已更新)
  6. java 验证码_如何用java实现验证码?
  7. C++设计模式从入门到精通——实例说明
  8. 【Excel】按百分比随机抽取excel中数据
  9. 虚短”“虚断”两板斧,搞定运算放大器 11张大图详(转)
  10. [运放滤波器]1_理想运放_虚短虚断