首页 > 解决方案 > IMPORTXML - 导入的内容为空

问题描述

谁能帮助我,我正在尝试将 2020 年 9 月 29 日的总资产数字(8,473,000)从雅虎财经页面提取到 Google 表格中。我尝试了几个公式,但不断收到“导入的内容为空”错误。

我试过以下 -

首先使用 Xpath 和公式:

=IMPORTXML("http://finance.yahoo.com/quote/EZJ.L/balance-sheet", "//*[@id='Col1-3-Financials-Proxy']/section/div[3]/div[1]/div/div[2]/div[1]/div[2]/div[3]/div[1]/div[2]/span")

然后(读到 Xpath 可能会失败,因为它包含对 /section/ 的引用)元素和公式:

=INDEX(IMPORTXML("http://finance.yahoo.com/quote/EZJ.L/balance-sheet","//div[@class='Ta(c) Py(6px) Bxz(bb) BdB Bdc($seperatorColor) Miw(120px) Miw(140px)--pnclg Bgc($lv1BgColor) fi-row:h_Bgc($hoverBgColor) D(tbc)'"),1,1)

感谢任何关于如何拉这个数字的指导!

标签: xmlgoogle-sheets

解决方案


您提供的链接中的数据似乎是动态生成的,因此无法获取IMPORTXML(对于IMPORTHTML和类似的功能也是如此)。

如果您真的决定只在工作表中使用基本功能,而不是在应用程序脚本中进行网络抓取,您可以通过找到一个静态呈现数据的替代站点来做到这一点。

我已经为你做了,并为同一家公司找到了这个:

我检查了数据,发现您试图在链接中获取的资产也存在于此处,但以百万计(您的旧链接以千计),因此我们需要将百万乘以 1000 以获得相同的数据你想要在你的链接。

您可以在类似日期的总资产(百万)中找到它:

样本数据

我使用INDEX和的组合来获取数据IMPORTHTML

由于数据是BOLD,返回的数据是* 8,473 *,因此我习惯SUBSTITUTE将其删除*然后乘以1000

这是公式:

=SUBSTITUTE(INDEX(IMPORTHTML("https://www.hl.co.uk/shares/shares-search-results/e/easyjet-plc-ordinary-27-27p/financial-statements-and-reports","table",0),41,2), "*", "") * 1000

这是输出:

样本输出

有关该问题的更多详细信息,请参阅此帖子


推荐阅读