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

Google Sheets中IMPORTHTML函数失效及改用IMPORTXML获取数据的问题

Google Sheets中IMPORTHTML函数失效及改用IMPORTXML获取数据的问题

你好呀!遇到用了一年的IMPORTHTML突然报“Could not fetch”的情况确实挺头疼的,我来帮你拆解下可能的原因,再给你提供用IMPORTXML替代的解决方案~

一、为什么IMPORTHTML会突然失效?

常见的原因主要有这几个:

  • 网站结构变更:目标网站可能调整了页面的HTML结构,你之前指定的Table索引(也就是公式里的1)对应的表格可能已经不是原来的数据表了,或者表格本身的层级、类名发生了变化
  • 反爬机制限制:很多数据网站会新增反爬虫策略,Google Sheets的请求可能被识别为非人工访问,从而被拦截
  • 临时服务异常:Google Sheets的服务或者目标网站的服务器临时出问题,但这种情况一般过段时间会自动恢复,你说突然失效大概率是前两种情况

二、用IMPORTXML获取相同数据的方案

我针对你需要的列(球员名、球队、位置、GP、TOI、CF、CA、CF%、xGF、FF%),整理了对应的IMPORTXML+QUERY公式,你可以直接试试:

=QUERY(IMPORTXML("https://www.naturalstattrick.com/playerteams.php?fromseason=20212022&thruseason=20232024&stype=2&sit=5v5&score=all&stdoi=std&rate=y&team=ALL&pos=S&loc=B&toi=0&gpfilt=none&fd=&td=&tgp=410&lines=single&draftteam=ALL", "//table[@class='sortable stats']/tbody/tr/td[position()=2 or position()=3 or position()=4 or position()=5 or position()=6 or position()=7 or position()=8 or position()=9 or position()=14 or position()=33]"), "SELECT Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col8,Col10,Col9")

公式说明:

  1. IMPORTXML部分:用XPath精准筛选出你需要的列,position()对应原表格的列序号,这里直接指定了2、3、4、5、6、7、8、9、14、33这几列
  2. QUERY部分:因为XPath提取的列顺序是2,3,4,5,6,7,8,9,14,33,而你需要的顺序是2,3,4,5,6,7,8,9,33,14,所以用SELECT调整了最后两列的位置

三、如果IMPORTXML也失效了怎么办?

如果之后这个XPath也不好用了,你可以自己用浏览器的开发者工具(按F12)重新定位:

  1. 打开目标页面,右键点击数据表格的任意一行,选择“检查”
  2. 在Elements面板里找到表格的标签(一般是<table>),看它的类名或者ID,更新XPath里的定位条件
  3. 找到每一列对应的<td>标签,确认它们的位置序号,调整position()里的数值

备注:内容来源于stack exchange,提问作者David R

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 10:14:50