Python读取浏览器中显示的http:html页面,并显示javascript结果



运行javascripts后,我能得到浏览器中看到的http页面吗?无需提交数据并按下按钮。IMHO这是一项标准任务,我在哪里可以看到运行所有脚本并获得结果的示例?

通过:

u = urllib.request.urlopen('https://www.*')
data = u.read()

如果我在浏览器中选择查看源代码,我会看到页面。然而,当我检查页面上的元素时,我会看到代码是如何扩展的,例如:

<div class="js-events-container"></div>

扩展到:

<div class="js-events-container">    <table class="zebra noBorderTbl" style="width: 100%;">
<tbody><tr>
<th>1</th>
<th>2</th>
<th>3</th>
</tr>
...
</tr>
</tbody></table>
</div>

我在类名中看到了js,它可能是javascript,我认为没有办法用urllib获得完整的页面。您需要在javascript启动后拉取站点。你需要硒或phantomjs来完成这项工作。

您还可以查看这个特定的库dryscape。根据文档,它支持javascript。

我现在使用selenium加载页面,然后获得page_source。不管名称如何,page_source给出的不是页面源,而是java脚本运行后的页面结果。

最新更新