首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

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

  •  
  •   twilight · 2016-05-31 15:41:30 +08:00 · 3703 次点击
    这是一个创建于 844 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我试了 urllib 的 urlopen 和 requests 的 get ,得到的都只是静态的内容,网页里的表格内容没有得到。
    13 回复  |  直到 2016-05-31 19:58:15 +08:00
        1
    Yc1992   2016-05-31 15:44:45 +08:00
    抓包分析请求
        2
    wizardoz   2016-05-31 15:46:27 +08:00
    表格里面的内容有可能是 ajax 或者 websocket 获取的,并不是在请求页面的时候就有。
        3
    Patrick95   2016-05-31 15:47:56 +08:00   ♥ 1
        4
    wizardoz   2016-05-31 15:47:58 +08:00
    如果是 ajax 那好办,用浏览器的 F12 看看它请求了什么东西就可以了。
    如果是 websocket 就难办了。
        5
    mrwangrj   2016-05-31 16:00:05 +08:00   ♥ 2
    phantomjs
        6
    SlipStupig   2016-05-31 16:10:26 +08:00
    @wizardoz iframe ajax 表单字段随机化,有没办法不开浏览器能直接跑通
        7
    twilight   2016-05-31 16:12:25 +08:00
    感谢各位热心回复。

    搜了搜,好像有用 PythonWebKit 或 PyQtWebKit 来做的。
        8
    wujunze   2016-05-31 16:49:17 +08:00
    phantomjs +1
        9
    mingyuejingque   2016-05-31 17:24:13 +08:00   ♥ 1
    phantomjs + 2 , 配合 casperjs 可以搞很多小动作,嘿嘿嘿
        10
    tkpc   2016-05-31 17:32:57 +08:00
    system("google-chrome")
        11
    jiezhi   2016-05-31 17:35:16 +08:00   ♥ 1
    selenium + phantomjs 呢
        12
    xinali   2016-05-31 17:45:28 +08:00   ♥ 1
    有两种思路,一种是如果你想分析 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/
        13
    ila   2016-05-31 19:58:15 +08:00 via Android
    @Patrick95 赞同+1
    官方更新后百度得到的资料还是旧的
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   819 人在线   最高记录 3762   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 18ms · UTC 18:24 · PVG 02:24 · LAX 11:24 · JFK 14:24
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1