爬虫 第九讲 反爬的策略

文章目录

  • 一、JS反爬
    • 1.环境搭建
      • 安装node.js
      • 安装js代码调试工具
      • 安装 PyExecJs模块
    • 2.JS中常见的算法
      • MD5算法
      • DES/AES算法
        • AES和DES的区别
      • RSA算法
      • base64加密算法
    • 3.案例演示
  • 二、字体反爬
    • 1.什么是字体反爬/li>
    • 2.如何解决字体反爬/li>
  • 三、验证码图片反爬
  • 四、行为验证反爬
  • 五、ip反爬
  • ua反爬

一、JS反爬

1.环境搭建

安装node.js

下载 站:https://nodejs.org/en/download/
参考 站:https://blog.csdn.net/qq_41465646/article/details/107656044

安装js代码调试工具

发条js代码调试工具

安装 PyExecJs模块

2.JS中常见的算法

线性散列MD5算法
对称加密DES/AES算法
非对称加密算法RSA
base64加密算法

MD5算法

MD5是一种被广泛使用的线性散列算法,可以产出一个128位(16字节)的散列值(hash value),用于确保信息传输完整的一致性。且MD5加密之后产生的是一个固定长度(32位或16位)数据
https://cdn.bootcdn.net/ajax/libs/blueimp-md5/1.0.1/js/md5.js

DES/AES算法

DES对称加密,是一种比较传统的加密方式,其加密运算、解密运算使用的是同样的密钥,信息的发送者和信息的接收者在进行信息的传输与处理时,必须共同持有该密钥(称为对称密码),是一种对称加密算法

AES和DES的区别

加密后密文长度不同
DES加密后密文长度是8的整数倍
AES加密后密文的长度是16的整数倍
安全度不同
一般情况下DES足够安全
如果要求高可以使用AES
DES和AES切换只需要修改CryptoJS.DES =>CryptoJS.AES

RSA算法

RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。
非对称加密需要2个密钥
公开密钥(publickey:公钥)
私有密钥(privatekey:私钥)
公钥和私钥是一对

base64加密算法

base64是一种用64个字符来表示任意二进制数据的方法。
base64使用 A–Z a–z 0–9 + / 这64个字符实现对数据的加密

3.案例演示

二、字体反爬

1.什么是字体反爬/h2>

2.如何解决字体反爬/h2>

1 下载.ttf文件
2 将.ttf文件转换成xml文件
3 分析字体规律找到映射关系
测试 站
https://club.autohome.com.cn/bbs/thread/665330b6c7146767/80787515-1.html

三、验证码图片反爬

四、行为验证反爬

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年3月25日
下一篇 2021年3月25日

相关推荐