html - Google 表格导入 XML 文本值不会显示
问题描述
我正在尝试将一些能源数据导入 Google 表格,但似乎无法显示该值,因为它只是 HTML 行中的文本,并在输出中显示为 --,---。我已尝试将 /text() 添加到 XPath,但这仍然无法正常工作。
需要导入数据的网站:
http://www.caiso.com/TodaysOutlook/Pages/default.aspx
谷歌表格中的公式:
=IMPORTXML("http://www.caiso.com/TodaysOutlook/Pages/default.aspx","//div[@class='overview-large-number']")
还尝试了以下 Xpath 并显示了相同的 --,---。
/html/body/div[2]/div[3]/div[4]/div/div/div[2]/div/div[1]/div[1]/div[1]
/html/body/div[2]/div[3]/div[4]/div/div/div[2]/div/div[1]/div[1]/div[1]/text()
网页截图:
带有数据的 HTML 元素:
<div class="overview-large-number">41,946 <span>MW</span></div>
Google 表格当前输出的屏幕截图:
提前感谢您的任何见解。
解决方案
页面加载后会填充数据,因此您不能使用ImportXML()
. 数据通过 URL 上的 HTTP Get 请求,http://www.caiso.com/outlook/SP/stats.txt
并以 JSON 格式返回。
- 从此处获取 ImportJSON 脚本并将其添加到您的工作表(工具 > 脚本编辑器)。
- 这应该足以让你开始:
=Transpose(ArrayFormula(HLOOKUP(
{"AvailableCapacity","CurrentSystemDemand","todayForecastPeakDemand","histDemand","TodaysPeakDemand","tomorrowsForecastPeakDemand"},
ImportJSON("http://www.caiso.com/outlook/SP/stats.txt"),2,0)))
请注意,历史峰值已经是一个字符串,因此您可能需要做一些额外的工作才能得到这个数字。
推荐阅读
- java - Java nssdb 连接:无法初始化 NSS
- scala - Scala Play DI 问题:无法注入类或对象的字段
- wordpress - 在服务器站点(Wordpress)上将主页显示设置为静态时屏幕变白
- c# - 如何在 NavigationView 底部绘制菜单?
- apache-storm - 等待 submitToplogy 完成
- javascript - 关闭 node.js websocket 连接的用户友好方式
- sharepoint - 在 SharePoint 文档库中更改文件夹内部名称
- vba - 在 VBA 中自动化列表框值
- php - 是否可以使用 PHP 套接字扩展实现 SSL (wss://)?
- .net - 没有剩余的逻辑空间来创建更多的用户字符串。[MVC预编译]