【问题标题】:IMPORTXML and right XPath from Bloomberg price彭博价格的 IMPORTXML 和正确的 XPath
【发布时间】:2022-12-30 04:01:22
【问题描述】:
我正在尝试从彭博网站获取共同基金的价格。
我曾尝试在 Google 工作表中使用 ImportXML 函数,放入彭博链接并复制完整的 XPath,但它总是返回 #N/A。
这是我的功能:
=IMPORTXML("https://www.bloomberg.com/quote/KAUGVAA:LX","/html/body/div[6]/div/div/section/section[1]/div/div[2]/section[1]/section/section/section/div[1]/span[1]")
这是彭博社的链接:
https://www.bloomberg.com/quote/KAUGVAA:LX?leadSource=uverify%20wall
有谁知道我做错了什么?
【问题讨论】:
标签:
google-sheets
web-scraping
google-sheets-formula
【解决方案1】:
如果你得到的只是#N/A错误,那么在转向脚本之前你有 3 个选项
-
禁用 JavaScript。 google sheets 的 IMPORT 公式不支持读取 JS 内容/元素。在您的 URL 上禁用 JS 并且您希望抓取的元素不存在后,您可以 99.9% 确定您可以放弃!如果你寻找的东西仍然存在,请移至第 2 点......
-
运行 XML 调试公式来测试可以报废的内容:
=IMPORTXML("URL"; "//*")
如果结果是#N/A放弃并移动到第 3 点......
-
运行源代码调试公式来测试还有什么可以报废:
=IMPORTDATA("URL")
如果输出为#N/A,则放弃并移至下一点。如果输出是任何其他类型的错误,请尝试:
=QUERY(FLATTEN(IMPORTDATA("URL")); "where Col1 is not null"; )
-
在这个阶段打开一个谷歌并尝试找到一个不同的网站来托管你想要获得的相同数据。然后重复步骤 1-3。仍然没有运气,您的要求不是那么高吗?移动到下一个点...
-
去谷歌搜索网址。如果有匹配尝试检查是否有缓存:
获取 URL 并重复步骤 2-3。如果这不是你的事,或者如果运气永远离开了你的生活,请转到第 6 点......
=IMPORTXML("https://webcache.googleusercontent.com/search?q=cache:aQET6JV0DywJ:https://www.bloomberg.com/quote/KAUGVAA:LX&cd=1&hl=en&ct=clnk",
"//div[@class='overviewRow__66339412a5']")
-
放弃或使用script