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

2024-09-19 20:48:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个收集能源数据的设备,上面有一个webinterface,可惜没有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呢

提前谢谢


Tags: 数据logapijsonresponse方式urllib2chrome
1条回答
网友
1楼 · 发布于 2024-09-19 20:48:39

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

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

相关问题 更多 >