3

我正在尝试将彭博网站上的一些数据(市值)导入我的谷歌电子表格,但谷歌给了我Import Internal Error.

=INDEX(ImportXml("http://www.bloomberg.com/quote/7731:JP","//*[@id='quote_main_panel']/div[1]/div[1]/div[3]/table/tbody/tr[7]/td"),1,1)

我真的不知道是什么导致了这个问题,但我曾经用 xpath 查询来克服它。这次我找不到有效的 xpath 查询。

有谁知道这个错误的原因,或者我怎样才能让它工作?

4

1 回答 1

2

我不熟悉 Google 电子表格,但我认为您的代码中只是有一个多余的右括号。

代替

=INDEX(ImportXml("http://www.bloomberg.com/quote/7731:JP"),"//*[@id='quote_main_panel']/div[1]/div[1]/div[3]/table/tbody/tr[7]/td"),1,1)

=INDEX(ImportXml("http://www.bloomberg.com/quote/7731:JP","//*[@id='quote_main_panel']/div[1]/div[1]/div[3]/table/tbody/tr[7]/td"),1,1)

另外,你确定是ImportXml不是ImportXML

如果这不能解决您的问题,您必须解释您在 HTML 中寻找的确切内容。

编辑

将您显示的 Xpath 表达式应用于 HTML 源代码,我得到以下结果:

<td xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml" class="company_stat">641,807.15</td>

这是你所期望的吗?如果是,那么 XPath 没有错,问题出在其他地方。如果没有,那么请描述您要查找的内容,我将尝试找到合适的 XPath 表达式。

第二次编辑

以下公式对我来说很好:

=ImportXML("http://www.bloomberg.com/quote/7731:JP","//table[@class='key_stat_data']//tr[7]/td")

结果单元格值:

641,807.15

XPath 表达式现在查找一个特定的表(因为 HTML 中只有 3 个表并且它们都有唯一的class属性值)。

编辑

您的初始路径表达式不起作用的原因是它包含tbody,请参阅此出色答案以获取更多信息。这要归功于@JensErat。

于 2014-09-19T21:18:31.053 回答