别让加密难倒你,Python爬虫攻克加密网站的实战教程!

今天有个朋友向我求助,希望我帮他爬取一个网站上的内容。网站内容如下:

aHR0cHM6Ly93d3cuY2NwcmVjLmNvbS9uYXZDcXpyLyMvCg==

打开上述网址,进入开发者模式,这些数据的请求接口,正常逻辑是通过搜索页面上内容进行锁定请求接口。但是,进行搜索时,发现什么都搜索不到。

通过上图发现,这些数据只请求了一个接口,当我点击负载响应这两个标签,发现数据是被加密了,所以,我们搜索不了页面的内容。

负载加密内容

响应加密内容

浏览器为啥是明文?

这时相信小伙伴,心中都有一个疑问浏览器为啥是明文? 浏览器在收到数据后,会自动采用服务器返回的资源文件对加密内容进行解密并显示明文,这也是我们能够在页面上看到正常内容的原因。

如何定位到加密资源文件

通过XHR/提取断点,该方法是通过匹配URL包括请求路径关键字进行断点,具体配置如下图:

这时我们重新刷新网页,如下图所示,网站就成功进入我们上一步设置的断点中。

其中,h就是加密后的请求体参数,然后我们从调用堆栈中一步步往前推找。至于如何找呢?这里是有一个技巧的,我们需要找到前一步请求体还没加密,后一步请求体就加密成功了。

请求体加密后

请求体加密前

其中上图o就是请求体加密之前的参数,s就是加密后的参数。chunk-common.a25fd3ce.js就是进行加密的js。通过点击堆栈的js名称就可以定位到对应的地方。

扣取代码

经过上一步分析,我们知道o就是加密之前的参数,就在js代码找o定义的位置,如下图所示:

下面代码就是请求体的参数,通过上述代码发现id是通过uuid方法生成的。

{
   
    "id": "rtmhwib79r4ytdgn",
    "projectKey": "honsan_cloud_ccprec",
    "clientKey": "rtmhwialwggc91l6",
    "token": null,
    "clientDailyData": {
   },
    "acts": 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

didiplus

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值