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

技术问询:如何将亚马逊商品标题与价格导入Google Sheets

嘿,我刚好折腾过把亚马逊商品数据导入Google Sheets的需求,结合你给出的ASIN链接格式(https://www.amazon.com/dp/[ASIN]),给你分享两个实用的方法,亲测有效:

方法1:用Google Sheets内置函数(零代码,快速上手)

这个方法适合少量数据,直接用IMPORTXML函数抓取页面元素:

假设你的表格结构是:

  • A列:填写ASIN编号(比如A2是B08N5WRWNW)
  • B列:要填充的商品标题
  • C列:要填充的商品价格

标题导入公式

在B2单元格输入:

=IFERROR(IMPORTXML("https://www.amazon.com/dp/"&A2,"//span[@id='productTitle']"),"获取失败")

然后下拉填充到其他行即可。IFERROR是用来处理亚马逊反爬或者页面结构变化导致的抓取失败,避免显示错误值。

价格导入公式

亚马逊的价格通常分为整数和小数两部分,我们可以合并抓取:
在C2单元格输入:

=IFERROR(CONCAT(IMPORTXML("https://www.amazon.com/dp/"&A2,"//span[@class='a-price-whole']"),".",IMPORTXML("https://www.amazon.com/dp/"&A2,"//span[@class='a-price-fraction']")),"获取失败")

同样下拉填充即可。如果遇到价格显示为促销价,可能需要调整XPath(比如把a-price-whole换成a-offscreen对应的元素,具体可以用浏览器开发者工具查看价格元素的属性)。

方法2:用Google Apps Script(更稳定,适合大量数据)

IMPORTXML容易被亚马逊的反爬机制拦截,尤其是批量抓取的时候。用Google Apps Script写自定义函数会更稳定,还能模拟浏览器请求:

步骤1:打开脚本编辑器

在你的Google Sheets里,点击顶部菜单「扩展程序」→「Apps Script」,打开脚本编辑页面。

步骤2:粘贴脚本代码

替换默认的代码为以下内容:

function getAmazonData(asin) {
  // 构造亚马逊商品链接
  const amazonUrl = `https://www.amazon.com/dp/${asin}`;
  // 模拟浏览器请求头,避免被拦截
  const requestOptions = {
    headers: {
      'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'
    }
  };

  try {
    // 发送请求获取页面内容
    const response = UrlFetchApp.fetch(amazonUrl, requestOptions);
    const pageHtml = response.getContentText();

    // 提取商品标题(用正则匹配页面元素)
    const titleRegex = /<span id="productTitle" class="a-size-large product-title-word-break">(.*?)<\/span>/;
    const titleMatch = pageHtml.match(titleRegex);
    const productTitle = titleMatch ? titleMatch[1].trim() : '未获取到标题';

    // 提取商品价格
    const priceWholeRegex = /<span class="a-price-whole">(.*?)<\/span>/;
    const priceFractionRegex = /<span class="a-price-fraction">(.*?)<\/span>/;
    const priceWholeMatch = pageHtml.match(priceWholeRegex);
    const priceFractionMatch = pageHtml.match(priceFractionRegex);
    const productPrice = priceWholeMatch && priceFractionMatch ? `${priceWholeMatch[1].trim()}.${priceFractionMatch[1].trim()}` : '未获取到价格';

    // 返回标题和价格数组
    return [productTitle, productPrice];
  } catch (error) {
    // 捕获错误,返回提示信息
    return ['获取失败', '获取失败'];
  }
}

步骤3:使用自定义函数

回到你的Google Sheets:

  • 在B2单元格输入=INDEX(getAmazonData(A2), 1),获取商品标题
  • 在C2单元格输入=INDEX(getAmazonData(A2), 2),获取商品价格
    或者直接在B2输入=getAmazonData(A2),会自动填充B2和C2两列的数据。

第一次运行时会弹出权限授权提示,点击「允许」即可(需要确认是你自己的脚本,安全可靠)。

重要注意事项
  • 亚马逊的页面结构经常更新,如果突然抓取不到数据,需要用浏览器开发者工具(F12)查看标题和价格元素的ID或类名,调整XPath或正则表达式。
  • 批量抓取时,建议分批处理(比如每次50条),或者在脚本里加入延迟(比如Utilities.sleep(1000),即每请求一次等待1秒),避免被亚马逊封禁IP。
  • 如果是亚马逊其他站点(比如加拿大、英国),只需把脚本和公式里的amazon.com改成对应的域名(比如amazon.ca、amazon.co.uk),同时调整元素匹配规则。

内容的提问来源于stack exchange,提问作者Mr. B

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:59:02