如何使用由Javascript填充的Python从网站获取数据?

时间:2015-02-27 12:42:36

标签: javascript python html web-scraping beautifulsoup

我想从网站上获取少量数据/值。我已经使用了beautifulsoup,当我尝试从我的Python脚本中获取它们时,这些字段是空白的,而当我检查网页的元素时,我可以清楚地看到表行数据中的值可用。 当我看到HTML Source时,我也注意到它的空白。 我想出了一个原因,该网站使用Javascript从其自己的数据库填充相应字段中的值。如果是这样,我怎样才能使用Python获取它们?

2 个答案:

答案 0 :(得分:1)

Selenium和phantomjs的Python绑定(如果你想使用无头浏览器作为后端)是适合这项工作的工具。

答案 1 :(得分:0)

是的,你可以抓取JS数据,只需要更多的黑客攻击。浏览器可以做任何事情,python可以做。

如果您使用的是firebug,请查看network标签,了解您的数据来自哪个特定请求。在chrome元素检查中,您也可以在名为network的选项卡中找到此信息。只需点击ctrl-F即可搜索请求的响应内容。

如果找到了正确的请求,数据可能嵌入在JS代码中,在这种情况下,您将要进行一些正则表达式解析。如果你很幸运,格式是xml或json,在这种情况下你可以使用相关的内置解析器。