因为 Python 语法简介以及强大的第三方库,所以我们使用它来制作网络爬虫程序。网络爬虫的用途是进行数据采集,也就是将互联网中的数据采集过来。

网络爬虫的难点其实并不在于爬虫本身。而是网站方为了避免数据被爬取,增加了各种各样的反爬虫措施。如果想要继续从网站爬取数据就必须绕过这些措施。因此,网络爬虫的难点在于反爬的攻克和处理。那么本文主要介绍一些网站的反爬虫措施。

妹子图

这个网站的反爬虫机制比较简单。当我们使用网络请求库下载图片时,该网站会对检查每个 HTTP 请求的 headers 头部中 Referer 字段。它判断该字段是否为空,如果字段为空,那么不会返回正常显示的图片,而是返回一张带有“图片来自妹子网,请勿盗链”字样的图片。

遇到这种机制,突破也是比较简单。对每个 HTTP 请求,将页面的 url 地址填充到 Referer 字段中。

豆瓣

几乎所有的爬虫新手都会爬取豆瓣练练手。但是豆瓣还是保持开放的态度,反爬虫机制做得还是很人性化。它的反爬虫机制大概如下:

1、在没有携带 cookie 的情况下,如果某个 IP 短时间高并发请求网站,该 IP 会立马被封。当 IP 被封,登录豆瓣网站会解封。
3、在携带 cookie 的情况下,某个 IP 请求网站过于频繁。豆瓣的反爬虫机制变为只封 cookie 不封 IP。也就说退出登录或者换个账号还能继续访问网站。

面对这么体谅新手的网站,我们要下手不能那么猛。我们只要在代码中登录账号,同时降低并发数,再随机延迟等待一段时间。我们的爬虫程序就不会被封杀了。

拉勾网

拉勾网站刚出来的时候,反爬虫机制还没有现在这么严格。估计爬取网站的人多了起来,网站管理员为了保护服务器增加一些手段。该网站的反爬虫机制大概是这样子。

1、在没有登录的情况下,程序只能连续访问 3 个 Url。如果再继续访问,网站会将链接重定向,然后提示我们登录。
2、如果在登录情况下,连续请求部分 url 之后,我们的 IP 会被封。

针对这样的爬虫机制,我们只能使用 IP 代理池来突破。

汽车之家

汽车之家论坛的反爬虫机制就比较高级。它利用前端页面自定义字体的方式来实现反爬的技术手段。具体使用到是 CSS3 中的自定义字体(@font-face)模块,自定义字体主要是实现将自定义的 Web 字体嵌入到指定网页中去。这就导致我们去爬取论坛帖子的口碑时,获取到的返回文本中每隔几个字就出现一个乱码符号。

每次访问论坛页面,其中字体是不变的,但字符编码是变化的。因此,我们需要根据每次访问动态解析字体文件。

具体可以先访问需要爬取的页面,获取字体文件的动态访问地址并下载字体,读取 js 渲染后的文本内容,替换其中的自定义字体编码为实际文本编码,就可复原网页为页面所见内容了。

最后说句良心话,我们爬取别人网站的数据,要在不损害别人网站的情况下进行。所以建议大家不要在网站访问高峰的时候爬取数据,尽量选择在晚上进行爬取。同时设置延时操作降低并发数。

作者:猴哥

更多Python视频、源码、资料加群857662006免费获取

转自:盘点一些网站的反爬虫机制 - 知乎

盘点一些网站的反爬虫机制相关推荐

  1. python重定向反爬虫_高效实用http爬虫代理ip之盘点一些网站的反爬虫机制

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 (河马代理IP)我们之所以使用python语法来来制作网络爬虫程序,是因为python语法简介以及强大的第三方库.网络爬虫的用途就是对数据进行采集,也就是 ...

  2. python反爬虫机制_盘点一些网站的反爬虫机制

    因为 Python 语法简介以及强大的第三方库,所以我们使用它来制作网络爬虫程序.网络爬虫的用途是进行数据采集,也就是将互联网中的数据采集过来. 网络爬虫的难点其实并不在于爬虫本身.而是网站方为了避免 ...

  3. 秒拨动态ip切换技术python_Python爬虫如何通过更换IP避开网站的反爬虫机制(一)...

    爬取网站的时候经常会遇到网站上都部署了反爬虫机制,当服务器检测到一段时间内同一个 IP 持续密集的访问网站,则将其判定为爬虫程序,在一段时间内不允许该 IP 地址访问服务器. 这种情况其实可以写个延迟 ...

  4. 克服反爬虫机制爬取智联招聘网站

    一.实验内容 1.爬取网站: 智联招聘网站(https://www.zhaopin.com/) 2.网站的反爬虫机制:     在我频繁爬取智联招聘网站之后,它会出现以下文字(尽管我已经控制了爬虫的爬 ...

  5. 反击“猫眼电影”网站的反爬虫策略

    0×01 前言 前两天在百家号上看到一篇名为<反击爬虫,前端工程师的脑洞可以有多大?>的文章,文章从多方面结合实际情况列举了包括猫眼电影.美团.去哪儿等大型电商网站的反爬虫机制.的确,如文 ...

  6. 网站有反爬机制就爬不了数据?那是你不会【反】反爬!道高一尺魔高一丈啊!

    不知道你们在用爬虫爬数据的时候是否有发现,越来越多的网站都有自己的反爬机制,抓取数据已经不像以前那么容易,目前常见的反爬机制主要有以下几种: 数据是通过动态加载的,比如微博,今日头条,b站 需要登录, ...

  7. 如何利用 C# + Python 破解猫眼电影的反爬虫机制?

    在 如何利用 C# 爬取「猫眼电影:最受期待榜」及对应影片信息! 这篇图文中可以看到猫眼电影对"本月新增想看人数" 和 "总想看人数"进行了字符集加密. 在 如 ...

  8. python爬取网页防止重复内容_python解决网站的反爬虫策略总结

    本文详细介绍了网站的反爬虫策略,在这里把我写爬虫以来遇到的各种反爬虫策略和应对的方法总结一下. 从功能上来讲,爬虫一般分为数据采集,处理,储存三个部分.这里我们只讨论数据采集部分. 一般网站从三个方面 ...

  9. 反爬虫机制和破解方法汇总

    https://cloud.tencent.com/developer/article/1032918 什么是爬虫和反爬虫? 爬虫:使用任何技术手段,批量获取网站信息的一种方式. 反爬虫:使用任何技术 ...

最新文章

  1. React 教程:快速上手指南
  2. 给thinkphp3.2用上composer
  3. java 压缩字节流_java 压缩 字节流 ,C#解压的问题
  4. sim卡rfm_信用卡客户的RFM集群
  5. Gtk-WARNING : cannot open display----这个问题在NVIDIA TX2上碰到过就是DISPLAY=“:0“
  6. php findall,fleaphp常用函数findAll方法的使用和示例
  7. New Chapter
  8. 基于Heritrix+Lucene的搜索引擎构建(6)——搜索UI与结果页面
  9. 三分钟将PR电影级调色滤镜应用到Unity中__Unity_PPS使用笔记
  10. java毕业设计汽车零件厂绩效管理mybatis+源码+调试部署+系统+数据库+lw
  11. 荣耀安装google谷歌服务框架_荣耀20怎么下载安装谷歌服务框架,GMS框架安装教程...
  12. 苹果注册2019款iPhone 预计今秋将发布3款11个版本
  13. 先决条件(一)问题定义和需求分析
  14. MCU_如何通过硬件VID 查找生产厂家
  15. linux wine 使用教程,Wine 使用技巧两则
  16. idea debug教程启用Debug模式可以分析定位异常发生的位置
  17. python 官网下载地址
  18. Saiku设置展示table数据不隐藏空的行数据信息(二十六)
  19. 硬件相关优化代码host_kernel_mod的个人理解
  20. hz和分贝怎么转换_分贝转换

热门文章

  1. QQ邮箱里面添加学校的edu邮箱
  2. 蓝桥杯单片机——串口通信1(11)
  3. 运维岗位面试被问到的问题
  4. 【MySQL】这是我见过最有用的MySQL数据类型面试题,面了无数家总结的
  5. 华为鸿蒙新平板,华为鸿蒙Beta 3.0 版本推送更新 预装鸿蒙新平板获入网许可
  6. 微信应用签名生成工具
  7. 扬帆致远跨境电商:跨境电商品牌如何锁定真实用户
  8. 人工智能刷题(个人向)
  9. 信息学奥赛一本通习题答案(五)
  10. 单目标跟踪算法调研(2019)