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

Javascript 如何使用Python从网站获取嵌入JSON数据?,javascript,python,html,Javascript,Python,Html,我有一个收集能源数据的设备,上面有一个网络接口,可惜没有API window.dataJSON中存储了一个JSON 我可以通过:console.log(JSON.stringify(window.dataJSON))通过Chrome调试器 但我的问题是:如何使用python获取这些数据? 我知道我可以通过以下方式获取页面的源代码: import urllib2 response = urllib2.urlopen("10.10.10.10") page_source = response.re

我有一个收集能源数据的设备,上面有一个网络接口,可惜没有API

window.dataJSON中存储了一个JSON

我可以通过:
console.log(JSON.stringify(window.dataJSON))通过Chrome调试器

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

import urllib2

response = urllib2.urlopen("10.10.10.10")
page_source = response.read()
但是如何读取存储在window.dataJSON中的JSON


提前谢谢你

窗口
对象仅存在于浏览器中。所以,要获得
窗口的属性,您应该使用浏览器来完成

您可以使用:

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


如果将
dataJSON
异步分配给
window
,您可能需要告诉
driver
等待。

谢谢您的回答!我可以在没有窗口和浏览器的情况下获取dataJSON吗?你的解决方案似乎有点黑客。你可以看看源代码,看看
dataJSON
是如何加载的,也许你可以找到一个
url
,你可以直接获取数据,或者它只是在源代码中。遗憾的是,没有。但我认为你的解决方案已经足够好了。这只是为了一个项目。
from selenium import webdriver

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

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