新手请教:如何用 python 请求动态网页,使其得到的内容和浏览器请求一样。

2016 年 5 月 31 日
 twilight
我试了 urllib 的 urlopen 和 requests 的 get ,得到的都只是静态的内容,网页里的表格内容没有得到。
5704 次点击
所在节点    Python
13 条回复
bytenoob
2016 年 5 月 31 日
抓包分析请求
wizardoz
2016 年 5 月 31 日
表格里面的内容有可能是 ajax 或者 websocket 获取的,并不是在请求页面的时候就有。
Patrick95
2016 年 5 月 31 日
wizardoz
2016 年 5 月 31 日
如果是 ajax 那好办,用浏览器的 F12 看看它请求了什么东西就可以了。
如果是 websocket 就难办了。
mrwangrj
2016 年 5 月 31 日
phantomjs
SlipStupig
2016 年 5 月 31 日
@wizardoz iframe ajax 表单字段随机化,有没办法不开浏览器能直接跑通
twilight
2016 年 5 月 31 日
感谢各位热心回复。

搜了搜,好像有用 PythonWebKit 或 PyQtWebKit 来做的。
wujunze
2016 年 5 月 31 日
phantomjs +1
mingyuejingque
2016 年 5 月 31 日
phantomjs + 2 , 配合 casperjs 可以搞很多小动作,嘿嘿嘿
tkpc
2016 年 5 月 31 日
system("google-chrome")
jiezhi
2016 年 5 月 31 日
selenium + phantomjs 呢
xinali
2016 年 5 月 31 日
有两种思路,一种是如果你想分析 js 处理后的网页源码可以使用 selenium+phantomjs ,但是有坑在携带 cookie ,修改 header 等方面。一种是用 requests 获取到网页未经 js 处理的代码,之后分析网页的 js 处理情况并结合 nodejs 对网页进行二次加工,这样而且可以极大的加快你的处理速度,具体的可以看我写的这个 http://xinali.github.io/2016/05/22/python%E5%A4%84%E7%90%86js%E7%BD%91%E9%A1%B5/
ila
2016 年 5 月 31 日
@Patrick95 赞同+1
官方更新后百度得到的资料还是旧的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/282493

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX