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

IMPORTXML因/div[2]/div[3]定位错误导致抓取数据错位的问题排查

解决Google Sheets IMPORTXML抓取舞曲榜的错位问题

问题根源

你当前的公式把榜单位置里的数字标签和NEW/Re标记标签全部抓取到同一个列表中,再用WRAPROWS(2)拆分时,多余的NEW/Re会打乱列结构,导致数据错位。另外,依赖硬编码的div序号(如/div[3]/div[2])定位元素非常不稳定,页面结构微调就会失效。

修复方案

改用分别抓取排名和歌曲名称的方式,通过元素class精准定位,避免混入无关标签:

=LET(
  ranks, IMPORTXML("https://www.officialcharts.com/charts/dance-singles-chart/20240212/104/", "//div[contains(@class,'chart-entry')]/div/div[1]/p/span[1]"),
  titles, IMPORTXML("https://www.officialcharts.com/charts/dance-singles-chart/20240212/104/", "//div[contains(@class,'chart-entry')]/div/div[2]/p/a/span"),
  HSTACK(ranks, titles)
)

关键调整点

  • 用div[contains(@class,'chart-entry')]定位每个榜单条目,比硬编码div序号更抗页面更新
  • 排名的XPath/div[1]/p/span[1]只抓取每个条目里的第一个span(即纯数字排名),自动排除旁边的NEW/Re标记
  • 用HSTACK直接合并排名和歌曲名列表,无需再用WRAPROWS处理,彻底避免错位

如果仍有个别排名混入标记,可在排名的XPath里加上过滤条件,确保只提取纯数字:

ranks, IMPORTXML("https://www.officialcharts.com/charts/dance-singles-chart/20240212/104/", "//div[contains(@class,'chart-entry')]/div/div[1]/p/span[translate(., '0123456789', '') = '']"),

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 03:06:07