返回信息流url:https://36kr.com/p/2176148975514116
比如我想通过Python抓取这个网页的内容,首先它不是一个静态网页,所以直接http get请求的结果是拿不到这个网页的内容的;那既然是动态网页,我理解应该是通过js请求API获取到真正的内容,然后浏览器端完成的渲染,但是奇怪的是,通过逐个分析网页刷新时的请求,也没有找到获取网页正文内容的请求。
求赐教。
这是一条镜像帖。来源:北邮人论坛 / python / #26283同步于 2023/3/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
这种网页是怎么完成渲染的
dljtgqm
2023/3/18镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
后端返回的是加密的数据,前端进行了解密:
1 这个请求返回的是AES加密之后的数据,https://36kr.com/p/2176148975514116 数据在最后
window.initialState={"state":"GsGEjP8dAjIYaDNgCxOkJYJQrOECQf8iB...", "isEncrypt":true}
2 数据的解密是在这个js中完成的: https://static.36krcdn.com/36kr-web/static/app.ad7bf25f.js
oe.isEncrypt && (oe = JSON.parse((re = window.initialState.state, ee.a.AES.decrypt(re, ne, {
mode: ee.a.mode.ECB,
padding: ee.a.pad.Pkcs7
})
.toString(ee.a.enc.Utf8)
.toString())));
明白了,多谢多谢
【 在 WHSASF 的大作中提到: 】
: 后端返回的是加密的数据,前端进行了解密:
: 1 这个请求返回的是AES加密之后的数据,https://36kr.com/p/2176148975514116 数据在最后
: window.initialState={"state":"GsGEjP8dAjIYaDNgCxOkJYJQrOECQf8iB...", "isEncrypt":true}
: ...................