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

使用Google Sheets的IMPORTXML()提取页面价格返回空结果求助

解决Google Sheets IMPORTXML函数提取Starcitygames卡牌价格返回空值的问题

问题描述

我尝试使用Google Sheets的IMPORTXML()函数,从Starcitygames的自定义搜索页面提取指定卡牌价格,但返回空结果:

  • 目标搜索页面:查找英文、Scourge系列、非闪版的「Decree of Annihilation」卡牌
  • 使用的公式:
=IMPORTXML("https://starcitygames.com/search/?hawksearchable=card_nametext%3A+%22Shaman%20of%20the%20Great%20Hunt%22+AND+search_includetext%3A+%22default%22&language=English&filter_set=Fate%20Reforged&finish=Non-foil","/html/body/div/div[1]/main/main/div[7]/div/div[2]/div[2]/div/div[1]/div[1]/div[2]")

原因分析与修复方案

  • XPath路径失效:你使用的绝对XPath路径依赖页面固定层级结构,网站更新布局后就会失效;另外Starcitygames部分内容是JavaScript动态加载的,IMPORTXML无法抓取这类动态渲染的内容。
    修复:改用基于元素属性的相对XPath,比如定位价格元素的类名(假设价格元素类为product-price),路径可写为//span[contains(@class, 'product-price')]/text();如果是动态内容,先用IMPORTDATA()获取页面源码,再用REGEXEXTRACT()匹配价格格式(比如\$\d+\.\d{2})。
  • URL不匹配:公式中的URL是「Shaman of the Great Hunt」的搜索页,和你要提取的「Decree of Annihilation」页面不一致,直接导致提取不到目标内容。
    修复:将公式内的URL替换为正确的目标页面URL。
  • 网站反爬限制:Starcitygames可能拦截了IMPORTXML的请求,返回空页面。
    修复:尝试在URL末尾添加随机参数(如&t=12345)绕过缓存检测;或使用Google Apps Script编写自定义脚本,模拟浏览器请求获取动态内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 10:15:38