gpt4 book ai didi

google-sheets - 无法使用 ImportXML xpath 查询提取嵌套数据 - 谷歌表格

转载 作者:行者123 更新时间:2023-12-04 14:47:22 28 4
gpt4 key购买 nike

你好亲爱的internauts!

我想从以下位置提取国家/地区分布:https://www.etf.com/URTH - “URTH Top 10 Countries”页面中部。此后我打算扩展到其他 ETF:到目前为止,我唯一能想象的是丑陋的:

  1. 正在搜索标签名称。丑陋,因为它需要搜索世界上的每个国家,才能找到实际存在的十个国家。

=IF(NOT(ISBLANK($A$1)),(importxml(concatenate("https://www.etf.com/",$A$1),"(//label[normalize-space()='UnitedStates']//following::span[@id=''][1])")),"")

  1. 提取整个 HTML,然后开始一系列字符串操作。丑陋,因为看起来天生不稳定。

=IF(NOT(ISBLANK($A$1)),index(IMPORTXML(concatenate("https://www.etf.com/",$A$1,"#overview"),"html"),1,2))

我尝试过的其他事情:复制 xpath/完整的 xpath(禁用和不禁用 javascript)。以及尝试创建我自己的 xpath(已经几个小时了 :D)

我看到的另一个障碍是,在关闭 javascript 的情况下,ID 不多,附近还有其他列表具有相同的@class 结构。

期望的结果:美国 68.34% 日本 6.63% 英国 4.29% 等。每个国家在一个或两个单元格中(国家名称/百分比)。

非常欢迎了解您如何继续构建功能查询。如果有完全不同的方法,我会洗耳恭听!

注意:A1=URTH

最佳答案

使用:

=ARRAYFORMULA(TRIM(QUERY(IMPORTXML("https://www.etf.com/"&A1, 
"//div[@class='rowText col-md-12 col-sm-12 col-xs-12']"),
"limit 10", 0)))

enter image description here


如果您想使用这些数字:

=INDEX(QUERY(IMPORTXML("https://www.etf.com/"&A1, 
"//div[@class='rowText col-md-12 col-sm-12 col-xs-12']"),
"limit 10", 0))

关于google-sheets - 无法使用 ImportXML xpath 查询提取嵌套数据 - 谷歌表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69791034/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com