You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

谷歌表格使用ImportXML的XPath查询无法提取嵌套数据问题咨询

ETF国家持仓数据提取解决方案

方案1:精准XPath定位(最优选择)

直接通过板块标题锚定目标区域,无需遍历国家列表,也不需要处理全页文本,稳定性和效率都满足需求,谷歌表格公式如下:

=IF(
  NOT(ISBLANK(A1)),
  IMPORTXML(
    "https://www.etf.com/"&A1,
    "//h2[contains(normalize-space(),'Top 10 Countries')]/following-sibling::div[1]//div[@class='holdingRow']/*[self::label or self::span[@class='percent']]/text()"
  ),
  ""
)

效果说明

  • 公式会自动按「国家1、占比1、国家2、占比2...」的顺序溢出20行数据(对应10个国家),如果需要把国家和占比合并为单个单元格,可嵌套调整:
    =BYROW(
      WRAPROWS(原公式返回的数组,2),
      LAMBDA(r,TEXTJOIN("",TRUE,r))
    )
    
  • 更换A1单元格的ETF代码即可直接适配其他标的,无需修改XPath逻辑

方案2:正则提取备选(页面结构变更时备用)

如果后续站点调整元素class导致XPath失效,可提取目标板块的全部文本后用正则批量匹配国家和占比组合,公式如下:

=IF(
  NOT(ISBLANK(A1)),
  REGEXEXTRACTALL(
    TEXTJOIN("",TRUE,IMPORTXML("https://www.etf.com/"&A1,"//h2[contains(normalize-space(),'Top 10 Countries')]/following-sibling::div[1]")),
    "[A-Za-z ]+[0-9]+\.[0-9]+%"
  ),
  ""
)

内容的提问来源于stack exchange,提问作者Melvin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 09:36:07