我有一个设备来收集带有网络接口的能源数据,遗憾的是没有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?
提前谢谢!
答案 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 Chrome
或PhatomJS
。
也许您需要告诉driver
等待dataJSON
异步分配给window
。