Python 请求-HTML Render() - 无内容

Dyn*_*ken 7 javascript python-3.x python-requests-html

我想抓取一个页面,其内容似乎是由 html 中引用的应用程序呈现的,例如:

<div id="app" class="app-mobile-pusher"></div>
Run Code Online (Sandbox Code Playgroud)

我正在使用 Requests-HTML python 库中的 render() 方法,如下所示:

with HTMLSession() as session:
    p = session.post(login_url, data=payload)
    r = session.get(content_url)
    r.html.render()
    print(r.text)
Run Code Online (Sandbox Code Playgroud)

此代码返回页面的 HTML,没有任何错误,但也没有任何内容(只有 HTML 标签)。笔记:

  • 我已经尝试向 session.get 添加超时参数,以便在访问页面和上述语法的其他变体之前为页面提供更多时间来呈现。

  • 还尝试根据此答案在标题中添加用户代理信息(为了避免拒绝我的自动抓取)

  • 我第一次运行 render() 时,chrome 浏览器确实下载了

缺少任何错误消息让我感到困惑,并且很难复制此请求的上下文以在另一个站点上进行测试。

任何有关如何解决的具体建议,或有关如何进行故障排除的想法,表示赞赏。(Python 3.6,Mac 操作系统)

Sta*_*osy 6

你试过print(r.html.html)吗?新呈现的代码位于此对象路径下。