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

使用Google Sheets IMPORTXML爬取allurepack.com价格失败求助

解决Google Sheets IMPORTXML抓取allurepack.com商品价格失败的问题

问题原因

你用的XPath指向的元素是JavaScript动态渲染生成的,而Google Sheets的IMPORTXML只能抓取页面的静态HTML源码,无法解析JS加载的动态内容,所以直接调用会失效。

验证方法

打开目标商品页,右键选择「查看页面源代码」,搜索XPath里的ProductSection-product-template,你会发现静态源码中不存在这个元素——它是页面加载后由JS动态插入的。

可行解决方案

方案1:用Google Apps Script自定义抓取函数

编写简单脚本解析页面内容,替代IMPORTXML:

function getProductPrice(productUrl) {
  const html = UrlFetchApp.fetch(productUrl).getContentText();
  // 匹配美元格式价格,可根据网站实际格式调整正则
  const pricePattern = /\$\d+\.\d{2}/;
  const priceMatch = html.match(pricePattern);
  return priceMatch ? priceMatch[0] : "获取失败";
}

在Sheets单元格中调用:=getProductPrice("https://allurepack.com/products/[具体商品路径]")

方案2:抓取商品数据API(更稳定)

  1. 打开浏览器开发者工具(F12)→切换到「网络」标签→刷新商品页
  2. 筛选「XHR/Fetch」类型请求,找到返回商品详情的API接口(通常包含product或api关键字)
  3. 复制API地址,用IMPORTDATA或Apps Script调用该接口,直接提取价格字段

注意事项

  • 不要高频请求网站,避免触发反爬限制导致IP被封禁
  • 正则表达式或API字段可能随网站更新失效,需定期检查调整

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 23:24:39