我想抓取一个页面,其内容似乎是由 html 中引用的应用程序呈现的,例如:
<div id="app" class="app-mobile-pusher"></div>
我正在使用 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)
此代码返回页面的 HTML,没有任何错误,但也没有任何内容(只是 HTML 标记)。笔记:
我尝试向 session.get 添加超时参数,以便在访问页面之前有更多时间呈现页面以及上述语法的其他变体。
还尝试根据此答案在标头中添加用户代理信息(以规避拒绝我的自动抓取)
当我第一次运行 render() 时,铬浏览器确实下载了
没有任何错误消息让我很困惑,并且很难复制此请求的上下文以在另一个站点上进行测试。
任何有关如何解决的具体建议,或有关如何进行故障排除的想法,都值得赞赏。(Python 3.6,Mac 操作系统)