(二)爬虫入门-大话爬虫中的反爬与反反爬

本文介绍了爬虫工程师与开发工程师之间的反爬与反反爬斗争,详细讲解了七种常见的反爬措施,包括headers和cookie验证、用户行为验证、封IP、JavaScript加密、字体加密、验证码验证以及禁用开发者工具等,并提供了相应的解决策略。适合Python爬虫初学者和进阶者学习。
摘要由CSDN通过智能技术生成

   python反爬经验实战,适合小白入门,新手提升,大牛晋升。包含本人目前遇到反爬汇总,文章一周2-3篇,为了质量考虑,更新较慢,敬请谅解。购买专栏私信博主加微信,可无偿提供学习辅助。 考虑到新手朋友,博文会讲得较细,高手的话对于一些简单部分可快速略过即可.

1 爬虫工程师与开发工程师的较量

  相信大家对下面这幅图应该都不陌生,爬虫工程师与开发工程师的反爬与反反爬的较量(图片来自网络
爬虫工程师与开发工程师的较量

2 七种常见反爬及其解决措施

  在数据采集(爬虫)过程中,总是会遇到各种各样的反爬措施,总体概括起来不外乎以下几种:headers、cookie验证,用y验证码验证,JavaScript加密处理数据…(目前大概遇到想到的汇总起来大概也就一下7种,欢迎评论、留言、私信补充,将及时补充到本文)

  1. 2.1 headers、cookie验证
      headers、cookie验证:只需构造相应的请求头、建立相应的cookie池(or账号池)即可;参考博客:python爬虫请求头大全
    cookie验证最常见的是一些需要登录的网站,比如京东、淘宝等
    例如某网站不带cookie发起请求,直接提示检测到恶意攻击
    在这里插入图片描述

  2. 2.2 用户行为验证
      用户行为验证:用户行为异常,具体的可以从用户的访问频率,用户从何处点击进来的(Referer)、采用了selenium类自动化测试等均可识别出来;解决方法有难有易:限制访问频率,headers中Referer字段加上上一次的请求路由,尽量伪装自动化测试工具属性即可。有兴趣的可以去研究用selenium登录最新版知乎…
    在这里插入图片描述

  3. 2.3 封IP
      封IP:触发封IP的原因很多,解决方法不外乎构造IP池或者直接购买IP代理;参考博客:Python抓取代理IP----用代理采集代理,构建自己的代理IP池
    在这里插入图片描述

  4. 2.4 JavaScript加密
      JavaScript加密:JavaScript加密的唯一方法就是耐心一步一步调试(用钱买方法除外#滑稽),具体网站具体分析。可从最简单学起,参考博客:百度翻译的sign值
    在这里插入图片描述

  5. 2.5 字体加密
      字体加密:目前来说,本人遇到的字体解密大概分为三种情况:
    第一种是网站带有字体库:比如汽车之家的字体解密设定阈值,大众点评的构造字体映射,最新猫眼电影金额的K近邻算法;参考博客:某点评网站静态字体加密(woff字体映射法)K近邻算法与CSS动态字体加密
    在这里插入图片描述
    第二种的话是JS加密字体:如下图,后端将所有数据加密到一串JSON数据中,再在前端解密即可,具体情况具体分析(搞不定找我#滑稽)
    在这里插入图片描述
      还有一种特殊的字体加密,不多说,直接看图,懂得自然懂,目前本人博客网站也是用的这种简易反爬:
    在这里插入图片描述

  6. 2.6 验证码验证
      验证码验证:验证码应该是目前反爬较为常见的,通常用于用户登陆、用户行为异常用来区分人机。
    验证码类型很多,有验证码方面需求的可评论区留言或者私信,接验证码破解。具体思路参考爬虫9种验证码破解思路及其实现(发布时间未到)
    部分验证码类型如下:
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

  1. 2.7 禁止打开 F12 开发者工具,禁用ctrl+v、alt、shift等
      禁止打开 F12 开发者工具,禁用ctrl+v、alt、shift等:禁用F12开发者工具调试、禁止ctrl+c复制等方式对于小白来说很好用,但是稍微懂点基础的都可以很快的解决:开发者工具可通过点击打开,复制等可通过查看网页源码复制(view-source:+url);
    禁止ctrl+c网站示例:http://www.ccgp-shanxi.gov.cn/view.php?nid=632238
    图片来源于本人博客网站

  获得转载许可请注明转自https://leejason.blog.csdn.net/article/details/107457651

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值