反爬的策略

疑难杂症   2024-11-11 15:29   299   0  

一、JS反爬

1.环境搭建

安装node.js

下载网站:https://nodejs.org/en/download/

参考网站:https://blog.csdn.net/qq_41465646/article/details/107656044


安装js代码调试工具

发条js代码调试工具


安装 PyExecJs模块

pip install PyExecJs -i https://pypi.douban.com/simple

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.案例演示

微信公众平台:https://mp.weixin.qq.com/cgi-bin/home?t=home/index&lang=zh_CN&token=40987134

steam平台:https://store.steampowered.com/login/?redir=&redir_ssl=1

完美世界:https://passport.wanmei.com/login?location=L3NhZmUv


二、字体反爬

1.什么是字体反爬?

就是网页的制作者,它在发布他网页数据的时候。将其中一部分的字体变成乱码。即使你把网页的数据爬取下来,你也获取不到真实数据的样貌。这样就达到了一个反爬虫的目的


2.如何解决字体反爬?

• 1 下载.ttf文件

• 2 将.ttf文件转换成xml文件

• 3 分析字体规律找到映射关系

测试网站

https://club.autohome.com.cn/bbs/thread/665330b6c7146767/80787515-1.html


三、验证码图片反爬

四、行为验证反爬

五、ip反爬

设置代理ip

http://httpbin.org/ip 返回当前的ip地址

https://www.ipip.net/ 查看当前的ip地址

https://h.wandouip.com/member/index 比较好用的ip代理平台


ua反爬

爬虫中非常重要的一种反反爬策略

user-agent 用户代理

解决方式

• 添加随机的user-agent

• fake_useragent


博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。
闲言碎语
富人生活千姿百态,穷人大致相同
赞赏支持

如果觉得博客文章对您有帮助,异或土豪有钱任性,可以通过以下扫码向我捐助。也可以动动手指,帮我分享和传播。您的肯定,是我不懈努力的动力!感谢各位亲~