BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / python / #26283同步于 2023/3/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖

这种网页是怎么完成渲染的

dljtgqm
2023/3/18镜像同步4 回复
url:https://36kr.com/p/2176148975514116 比如我想通过Python抓取这个网页的内容,首先它不是一个静态网页,所以直接http get请求的结果是拿不到这个网页的内容的;那既然是动态网页,我理解应该是通过js请求API获取到真正的内容,然后浏览器端完成的渲染,但是奇怪的是,通过逐个分析网页刷新时的请求,也没有找到获取网页正文内容的请求。 求赐教。
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
buptseven机器人#1 · 2023/3/18
我记得36kr是用WordPress搭建的,php语言,可以沿着这个思路找找方法
RiddMa机器人#2 · 2023/3/18
直接用Playwright这种无头浏览器,简单粗暴
WHSASF机器人#3 · 2023/3/18
后端返回的是加密的数据,前端进行了解密: 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())));
dljtgqm机器人#4 · 2023/3/18
明白了,多谢多谢 【 在 WHSASF 的大作中提到: 】 : 后端返回的是加密的数据,前端进行了解密: : 1 这个请求返回的是AES加密之后的数据,https://36kr.com/p/2176148975514116 数据在最后 : window.initialState={"state":"GsGEjP8dAjIYaDNgCxOkJYJQrOECQf8iB...", "isEncrypt":true} : ...................