如何使用Python从网站嵌入JSON数据?

时间:2017-09-07 12:40:53

标签: javascript python html

我有一个设备来收集带有网络接口的能源数据,遗憾的是没有API。

在window.dataJSON中存储了一个JSON。

我可以通过Chrome调试器使用console.log(JSON.stringify(window.dataJSON));获取它的价值。

但我的问题是:如何使用python获取此数据? 我知道我可以通过以下方式获取页面的源代码:

import urllib2

response = urllib2.urlopen("10.10.10.10")
page_source = response.read()

但是我如何读取存储在window.dataJSON中的JSON?

提前谢谢!

1 个答案:

答案 0 :(得分:1)

window对象仅存在于浏览器中。因此,要获得window的属性,您应该使用浏览器来执行此操作。

您可以使用Selenium

from selenium import webdriver

driver = webdriver.Chrome()
driver.get('http://www.example.com')

result = driver.execute_script('return JSON.stringify(window.dataJSON)')

如果您不想显示浏览器,则可以将webdriver更改为使用Headless ChromePhatomJS

也许您需要告诉driver等待dataJSON异步分配给window