如何抓取 Google Shopping 数据——有代码或无代码都能搞定

最后更新于 April 15, 2026

Google Shopping 每月会处理超过 。这也就意味着,海量的价格数据、商品趋势和商家信息,都被整整齐齐地聚合在你的浏览器里,数据来源覆盖成千上万家零售商。

那要怎么把这些数据从 Google Shopping 里导出来,并整理到表格里呢?这一步往往最让人头大。我花了不少时间测试各种方案——从零代码浏览器插件到完整的 Python 脚本——体验落差真的很大:有时候是“哇,这也太简单了”,有时候则是“我已经连着调了三天 CAPTCHA,真的不想再折腾了”。市面上大多数教程默认你本来就是 Python 开发者,但按我的经验,真正需要 Google Shopping 数据的人,大多是电商运营、定价分析师和营销人员,他们只想要结果,不想写代码。所以这篇指南会按从简单到进阶的顺序,介绍三种方法,方便你根据自己的技术水平和时间安排,选出最合适的路径。

什么是 Google Shopping 数据?

Google Shopping 本质上就是一个商品搜索引擎。你输入“无线降噪耳机”,Google 就会从几十家网店抓取并展示结果——商品标题、价格、卖家、评分、图片、链接,一应俱全。它就像一个实时更新的商品目录,持续汇总全网在售产品信息。

为什么要抓取 Google Shopping 数据?

单个商品页能告诉你的信息其实很有限。但如果把成百上千个商品整理进表格,规律就会一下子浮现出来。

google-shopping-manual-vs-auto (1).png

以下是我见过最常见的使用场景:

使用场景受益人群关注重点
竞争定价分析电商团队、定价分析师竞品价格、促销模式、价格变化趋势
商品趋势发现营销团队、产品经理新品、增长中的品类、评论增长速度
广告情报分析PPC 投放经理、增长团队赞助商品、哪些卖家在竞价、广告出现频率
卖家 / 线索研究销售团队、B2B 团队活跃商家、进入某个品类的新卖家
MAP 合规监测品牌经理是否有零售价低于最低广告价政策的零售商
库存与品类结构追踪品类经理库存情况、商品组合缺口

现在都在使用 AI 定价工具。投资竞争情报定价的企业,回报率甚至高达 29 倍。Amazon 大约每 10 分钟就会更新一次价格。如果你还在手工查竞品价格,算下来真的不划算。

Thunderbit 是一款 AI 网页爬虫 Chrome 扩展,帮助商业用户借助 AI 从网站中抓取数据。对于想要结构化 Google Shopping 数据、又不想写代码的电商运营、定价分析师和营销人员来说,它尤其好用。

你到底能从 Google Shopping 抓到哪些数据?

在选择工具或写第一行代码之前,先搞清楚哪些字段可以提取、哪些字段还需要额外处理,会更省时间。

Google Shopping 搜索结果页可提取字段

在 Google Shopping 搜索时,结果页里的每个商品卡片通常包含:

字段类型示例说明
商品标题文本"Sony WH-1000XM5 Wireless Headphones"始终存在
价格数值$278.00可能同时显示促销价和原价
卖家 / 店铺文本"Best Buy"同一商品可能有多个卖家
评分数值4.7满分 5 星;并非总是显示
评论数数值12,453新商品有时不会显示
商品图片 URLURLhttps://...初始加载时可能返回 base64 占位图
商品链接URLhttps://...链接到 Google 商品页或直接跳转到商家页面
物流信息文本"Free shipping"不一定会出现
赞助标识布尔值Yes/No表示付费展示,对广告情报很有价值

商品详情页可提取字段(子页面数据)

如果点击进入某个商品的详情页,你还能拿到更丰富的数据:

字段类型说明
完整描述文本需要进入商品页才能获取
所有卖家价格数值(多个)可横向对比不同零售商的价格
规格参数文本会因品类不同而变化(尺寸、重量等)
单条评论内容文本买家的完整评价文本
优缺点总结文本Google 有时会自动生成

要拿到这些字段,就需要在抓取搜索结果后继续访问每个商品的子页面。支持 的工具可以自动完成这一步——下面我会把整个流程讲清楚。

抓取 Google Shopping 数据的三种方式(按你的情况选)

thunderbit-web-scraping-paths.png

下面按从最简单到最技术化的顺序列出三种方法。你可以直接跳到最适合自己的那一行:

方法技术门槛准备时间反爬处理适合人群
无代码(Thunderbit Chrome 扩展)新手约 2 分钟自动处理电商运营、营销人员、一次性调研
Python + SERP API中级约 30 分钟由 API 处理需要可编程、可重复访问的开发者
Python + Playwright(浏览器自动化)高级1 小时以上需要自己维护自定义流程、特殊场景处理

方法 1:不用代码抓取 Google Shopping 数据(使用 Thunderbit)

  • 难度: 新手
  • 所需时间: 约 2–5 分钟
  • 你需要准备: Chrome 浏览器、(免费版可用)、一个 Google Shopping 搜索词

这是从“我需要 Google Shopping 数据”到“表格已经准备好”的最快路径。无需代码、无需 API Key、无需代理配置。我已经带着非技术同事走过几十次这个流程——没有一个人卡住。

第 1 步:安装 Thunderbit 并打开 Google Shopping

先从 Chrome 网上应用店安装 ,然后注册一个免费账号。

接着打开 Google Shopping。你可以直接进入 shopping.google.com,也可以在普通 Google 搜索里切到 Shopping 标签页。搜索你感兴趣的商品或品类,比如“无线降噪耳机”。

你应该会看到一个商品网格,里面包含价格、卖家和评分等信息。

第 2 步:点击“AI Suggest Fields”自动识别字段

点击 Thunderbit 扩展图标打开侧边栏,然后点击 “AI Suggest Fields”。AI 会扫描 Google Shopping 页面,并自动推荐字段:商品标题、价格、卖家、评分、评论数、图片 URL、商品链接。

检查一下系统建议的字段。你可以重命名列、删除不需要的列,或者添加自定义字段。如果你想更精确一点,比如“只提取不带货币符号的数字价格”,可以给对应列加一个 Field AI Prompt。

你会在 Thunderbit 面板里看到列结构预览。

第 3 步:点击“Scrape”并检查结果

点击蓝色的 “Scrape” 按钮。Thunderbit 会把所有可见商品整理成结构化表格。

有多页结果?Thunderbit 会自动处理分页——根据页面布局自动翻页或滚动加载更多内容。如果结果很多,你可以选择 Cloud Scraping(更快,可一次处理最多 50 页,运行在 Thunderbit 的分布式基础设施上)或 Browser Scraping(使用你自己的 Chrome 会话——如果 Google 显示的是地区相关结果,或者需要登录,这种方式会更稳)。

根据我的测试,抓取 50 个商品大约只要 30 秒。手动做同样的事——逐个打开、复制标题、价格、卖家、评分——起码得花 20 分钟以上。

第 4 步:使用子页面抓取补充数据

完成第一次抓取后,在 Thunderbit 面板里点击 “Scrape Subpages”。AI 会逐个打开商品详情页,并把更多字段追加到原表中——完整描述、所有卖家价格、规格参数、评论等。

不需要额外配置——AI 会自动识别每个详情页的结构并提取相关数据。我就是用这种方式,在不到 5 分钟内给 40 个商品搭建出了一份完整的竞争定价矩阵(商品 + 所有卖家价格 + 规格)。

第 5 步:导出到 Google Sheets、Excel、Airtable 或 Notion

点击 “Export”,选择导出目标——、Excel、Airtable 或 Notion,全部免费。也可以下载 CSV 和 JSON。

两次点击完成抓取,一次点击完成导出。那 Python 脚本呢?大概要 60 行代码,还得处理代理配置、CAPTCHA 和后续维护。

方法 2:使用 Python + SERP API 抓取 Google Shopping 数据

  • 难度: 中级
  • 所需时间: 约 30 分钟
  • 你需要准备: Python 3.10+、requestspandas 库、一个 SERP API Key(如 ScraperAPI、SerpApi 或同类服务)

如果你需要可编程、可重复访问 Google Shopping 数据,SERP API 是最稳的 Python 方案。反爬、JavaScript 渲染、代理轮换——这些都由服务端帮你处理。你只需要发 HTTP 请求,就能拿到结构化 JSON。

第 1 步:搭建 Python 环境

安装 Python 3.12(这是 2025–2026 年最稳妥的生产默认版本)以及所需依赖:

1pip install requests pandas

然后注册一个 SERP API 服务商账号。 每月提供 100 次免费搜索; 提供 5,000 个免费额度。登录后台后获取你的 API Key。

第 2 步:配置 API 请求

下面是一个使用 ScraperAPI Google Shopping 端点的最简示例:

1import requests
2import pandas as pd
3API_KEY = "YOUR_API_KEY"
4query = "wireless noise cancelling headphones"
5resp = requests.get(
6    "https://api.scraperapi.com/structured/google/shopping",
7    params={"api_key": API_KEY, "query": query, "country_code": "us"}
8)
9data = resp.json()

API 会返回结构化 JSON,包含 titlepricelinkthumbnailsource(卖家)和 rating 等字段。

第 3 步:解析 JSON 响应并提取字段

1products = data.get("shopping_results", [])
2rows = []
3for p in products:
4    rows.append({
5        "title": p.get("title"),
6        "price": p.get("price"),
7        "seller": p.get("source"),
8        "rating": p.get("rating"),
9        "reviews": p.get("reviews"),
10        "link": p.get("link"),
11        "thumbnail": p.get("thumbnail"),
12    })
13df = pd.DataFrame(rows)

第 4 步:导出为 CSV 或 JSON

1df.to_csv("google_shopping_results.csv", index=False)

适合批量处理:你可以循环 50 个关键词,一次脚本运行就得到完整数据集。代价是费用——SERP API 按查询计费,日请求量上去后账单也会涨。后面我会详细说成本问题。

方法 3:使用 Python + Playwright 抓取 Google Shopping 数据(浏览器自动化)

  • 难度: 高级
  • 所需时间: 1 小时以上(还不算后续维护)
  • 你需要准备: Python 3.10+、Playwright、住宅代理、耐心

这是“完全掌控”的方案。你启动真实浏览器,访问 Google Shopping,然后从渲染后的页面中提取数据。它最灵活,但也最脆弱——Google 的反爬系统非常强,而且页面结构一年会变好几次。

先提醒一句:我见过有些用户为了这套方案和 CAPTCHA、IP 封锁死磕了好几个星期。它能跑,但你要做好长期维护的准备。

第 1 步:安装 Playwright 和代理

1pip install playwright
2playwright install chromium

你还需要住宅代理。数据中心 IP 基本会立刻被封——有位论坛用户说得很直接:“所有 AWS IP 都会被封,或者在前 1/2 个结果后就开始弹 CAPTCHA。”Bright Data、Oxylabs 或 Decodo 等服务都提供住宅代理池,价格大致从 $1–5/GB 起。

给 Playwright 配上真实一点的 user-agent 和代理:

1from playwright.sync_api import sync_playwright
2with sync_playwright() as p:
3    browser = p.chromium.launch(
4        headless=True,
5        proxy={"server": "http://your-proxy:port", "username": "user", "password": "pass"}
6    )
7    context = browser.new_context(
8        user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ..."
9    )
10    page = context.new_page()

第 2 步:进入 Google Shopping 并处理反爬机制

先构造 Google Shopping URL 并打开:

1query = "wireless noise cancelling headphones"
2url = f"https://www.google.com/search?udm=28&q={query}&gl=us&hl=en"
3page.goto(url, wait_until="networkidle")

如果出现欧盟 Cookie 同意弹窗,就处理一下:

1try:
2    page.click("button#L2AGLb", timeout=3000)
3except:
4    pass

动作之间要加上像真人一样的延迟——页面加载之间随机等待 2–5 秒。Google 的检测系统会识别那种过快、过于规律的请求模式。

第 3 步:滚动、翻页并提取商品数据

Google Shopping 会动态加载结果。先滚动页面触发懒加载,再提取商品卡片:

1import time, random
2# 滚动以加载全部结果
3for _ in range(3):
4    page.evaluate("window.scrollBy(0, 1000)")
5    time.sleep(random.uniform(1.5, 3.0))
6# 提取商品卡片
7cards = page.query_selector_all("[jsname='ZvZkAe']")
8results = []
9for card in cards:
10    title = card.query_selector("h3")
11    price = card.query_selector("span.a8Pemb")
12    # ... 提取其他字段
13    results.append({
14        "title": title.inner_text() if title else None,
15        "price": price.inner_text() if price else None,
16    })

这里有个关键提醒:上面的 CSS 选择器只是近似值,以后会变。Google 经常轮换 class 名称。仅在 2024–2026 年间,就已经记录了三套不同的选择器方案。尽量依赖更稳定的属性,比如 jsnamedata-cid<h3> 标签和 img[alt],不要过度依赖 class 名称。

第 4 步:保存为 CSV 或 JSON

1import json
2from datetime import datetime
3filename = f"shopping_{datetime.now().strftime('%Y%m%d_%H%M')}.json"
4with open(filename, "w") as f:
5    json.dump(results, f, indent=2)

你需要定期维护这个脚本。每当 Google 调整页面结构——而这类调整每年会发生多次——你的选择器就会失效,又得回到调试循环里。

最大的麻烦:CAPTCHA 和反爬封锁

几乎所有论坛都在讲同一个故事:“我折腾了几周,最后还是败给了 Google 的反爬机制。”CAPTCHA 和 IP 封锁,是 DIY Google Shopping 爬虫失败的头号原因。

Google 是怎么封爬虫的,以及怎么应对

| 反爬挑战 | Google 的做法 | 应对方式 | |---|---|---|---| | IP 指纹识别 | 几次请求后就封数据中心 IP | 使用住宅代理或基于浏览器的抓取方式 | | CAPTCHA | 在请求过快或模式过于自动化时触发 | 限速(每次请求间隔 10–20 秒)、模拟人工延迟、使用 CAPTCHA 处理服务 | | JavaScript 渲染 | Shopping 结果通过 JS 动态加载 | 使用无头浏览器(Playwright)或支持 JS 渲染的 API | | User-Agent 识别 | 封常见爬虫 User-Agent | 轮换真实且最新的 User-Agent 字符串 | | TLS 指纹识别 | 检测非浏览器 TLS 签名 | 使用带浏览器伪装的 curl_cffi 或直接用真实浏览器 | | AWS / 云服务器 IP 封禁 | 封已知云服务商 IP 段 | 尽量避免使用数据中心 IP |

2025 年 1 月,Google 强制 SERP 和 Shopping 结果必须执行 JavaScript,——连 SemRush 和 SimilarWeb 使用的部分管线都受到了影响。到了 2025 年 9 月,Google 又弃用了旧版商品详情页 URL,改为一个通过异步 AJAX 加载的新“Immersive Product”页面。凡是 2025 年末之前写的教程,基本都已经过时了。

各种方法如何应对这些问题

SERP API 把这些麻烦都放在后台处理——代理、渲染、CAPTCHA 解决,全都自动完成。你几乎不用操心。

Thunderbit Cloud Scraping 使用覆盖美国、欧洲和亚洲的分布式云基础设施,自动处理 JS 渲染和反爬机制。Browser Scraping 模式则使用你自己的已登录 Chrome 会话,因为看起来就是正常用户在浏览,所以基本能绕过检测。

自己用 Playwright 搭 就意味着这些压力全部落到你头上:代理管理、延迟调参、CAPTCHA 处理、选择器维护,以及持续监控脚本是否失效。

抓取 Google Shopping 数据的真实成本:一份诚实对比

“5 万次请求要 50 美元……对我的个人项目来说有点贵。”这种抱怨在论坛里很常见。但大家通常忽略了最大的成本。

成本对比表

方案前期成本单次查询成本(估算)维护负担隐藏成本
DIY Python(不使用代理)免费$0很高(失效、CAPTCHA)你自己调试的时间
DIY Python + 住宅代理代码免费约 $1–5/GB中高代理服务费用
SERP API(SerpApi、ScraperAPI)免费额度有限约 $0.50–5.00 / 1000 次查询量大后成本增长很快
Thunderbit Chrome 扩展免费额度(6 页)按额度计费,约 1 额度/行非常低大量使用需付费方案
Thunderbit Open API(Extract)按额度计费约 20 额度/页按提取量付费

大家最容易忽略的隐藏成本:你的时间

一个看似免费的 DIY 方案,如果要你花 40 个小时调试,那其实一点也不免费。按每小时 50 美元算,这就是 2000 美元的人力成本——而且下个月 Google 改了 DOM,你可能还得再来一轮。

google-shopping-cost-vs (2).png

麦肯锡 Technology Outlook 指出,。在这个阈值以下,自建方案“会消耗预算,却不一定带来 ROI”。对于大多数每周只需几百到几千次查询的电商团队来说,无代码工具或 SERP API,通常都比自己开发更划算。

如何搭建自动化的 Google Shopping 价格监控

很多教程都把抓取当成一次性任务,但电商团队真正需要的是持续、自动化的监控。你需要的不只是今天的价格,还有昨天、上周,甚至未来持续更新的数据。

用 Thunderbit 设置定时抓取

Thunderbit 的 Scheduled Scraper 支持你用自然语言描述时间间隔——比如“每天上午 9 点”或“每周一和周四中午”——AI 会自动把它转换成重复计划。输入你的 Google Shopping URL,点击 “Schedule”,就完成了。

每次运行都会自动导出到 Google Sheets、Airtable 或 Notion。最终效果就是:一个每天自动更新竞品价格的表格,随时可用于透视表或提醒规则。

不用 cron,不用管服务器,也不用被 Lambda 折腾。(我见过不少开发者为了让 Selenium 在 AWS Lambda 上跑,连续几天都在修环境;Thunderbit 的定时功能直接省掉了这些麻烦。)

如果你想更深入了解 的搭建方式,我们也有单独的深度文章。

使用 Python 做定时任务(给开发者)

如果你选择 SERP API 方案,可以用 cron(Linux/Mac)、Windows Task Scheduler,或者 AWS Lambda、Google Cloud Functions 这类云端调度器来定时运行。APScheduler 这类 Python 库也可以。

但代价是:脚本健康状态、失败处理、代理定期轮换,以及 Google 改页面后的选择器更新,全部都要你自己负责。对大多数团队来说,维护一个定时 Python 爬虫所花的工程时间,往往比直接买一个专用工具还贵。

抓取 Google Shopping 数据的技巧与最佳实践

不管你用哪种方法,下面这些建议都能帮你少踩坑。

尊重请求频率限制

别在短时间内疯狂请求 Google——很容易被封,而且你的 IP 可能会被标记一段时间。DIY 方法建议每次请求间隔 10–20 秒,并加入随机抖动。工具和 API 通常会替你处理这些。

根据数据量选择方案

快速决策指南:

  • 每周少于 10 次查询 → Thunderbit 免费版或 SerpApi 免费额度
  • 每周 10–1,000 次查询 → SERP API 付费方案或
  • 每周 1,000 次以上查询 → SERP API 企业方案或 Thunderbit Open API

清洗并验证你的数据

价格通常会带着货币符号、地区格式差异(1.299,00 € vs $1,299.00),甚至会混进奇怪字符。你可以用 Thunderbit 的 Field AI Prompts 在提取时顺手标准化,也可以事后用 pandas 清洗:

1df["price_num"] = df["price"].str.replace(r"[^\d.]", "", regex=True).astype(float)

还要检查自然结果和赞助结果之间是否有重复——它们经常会重叠。可以按 (title, price, seller) 这个组合去重。

了解法律环境

抓取公开可访问的商品数据,通常被认为是合法的,但法律环境变化很快。最近最重要的进展是:,指控其根据 DMCA § 1201 规避 Google 的“SearchGuard”反爬系统。这是一种新的执法路径,绕开了 hiQ v. LinkedIn 和 Van Buren v. United States 等早期案件中建立的一些抗辩逻辑。

实用建议:

  • 只抓取公开可见的数据——不要登录后访问受限内容
  • 不要提取个人信息(如评论者姓名、账号详情)
  • 注意 Google 的服务条款禁止自动化访问——使用 SERP API 或浏览器扩展虽然能降低风险,但不能彻底消除法律灰区
  • 如果你在欧盟地区运营,也要留意 GDPR,不过商品列表绝大多数属于非个人商业数据
  • 如果你要基于抓取数据开发商业产品,建议咨询法律顾问

如果你想更深入了解,我们已经单独写过专题文章。

你应该用哪种方法抓取 Google Shopping 数据?

在同样的商品品类上测试完这三种方案后,我的结论是:

如果你不是技术用户,但需要快速拿到数据——用 Thunderbit。打开 Google Shopping,点两下,导出即可。5 分钟内你就能拿到干净的表格。 足够你先试用,而且子页面抓取功能拿到的数据通常比大多数 Python 脚本更丰富。

如果你是开发者,需要可重复、可编程的访问方式——用 SERP API。稳定性足以覆盖单次查询成本,而且可以避开所有反爬麻烦。SerpApi 的文档最好,ScraperAPI 的免费额度最慷慨。

如果你需要最高自由度,并且正在搭建自定义流程——Playwright 可以用,但一定要做好心理准备。你得投入大量时间处理代理、维护选择器和 CAPTCHA。到了 2025–2026 年,最低可用的绕过方案已经变成了 curl_cffi + Chrome 伪装 + 住宅代理 + 10–20 秒节奏控制。那种只靠 requests 和轮换 User-Agent 的脚本,基本已经不行了。

最好的方法,是那个能让你拿到准确数据、又不至于吃掉整周时间的方案。对大多数人来说,那不是一段 60 行的 Python 脚本,而是两次点击。

如果你需要更大的抓取量,可以看看 ;也可以到 看我们的教程,实际演示会更直观。

试试 Thunderbit 抓取 Google Shopping

常见问题

抓取 Google Shopping 数据合法吗?

抓取公开可见的商品数据,通常在 hiQ v. LinkedIn 和 Van Buren v. United States 等判例下被认为是合法的。不过,Google 的服务条款禁止自动化访问,而且 Google 在 2025 年 12 月对 SerpApi 的诉讼中又引入了基于 DMCA § 1201 的反规避理论。使用可靠的工具和 API 可以降低风险。如果是商业用途,建议咨询法律顾问。

我可以在不被封的情况下抓取 Google Shopping 吗?

可以,但关键在于方法。SERP API 会自动处理反爬措施。Thunderbit 的 Cloud Scraping 使用分布式基础设施来规避封锁,而 Browser Scraping 则使用你自己的 Chrome 会话(看起来就像正常浏览)。DIY Python 脚本则需要住宅代理、像真人一样的延迟,以及 TLS 指纹管理——即便如此,也还是很容易被封。

抓取 Google Shopping 数据最简单的方法是什么?

Thunderbit Chrome 扩展。进入 Google Shopping,点击“AI Suggest Fields”,再点“Scrape”,最后导出到 Google Sheets 或 Excel。无需编码、无需 API Key、无需代理配置,整个过程大约 2 分钟。

做价格监控时,我多久可以抓取一次 Google Shopping?

使用 Thunderbit 的 Scheduled Scraper,你可以用自然语言设置每天、每周或自定义间隔的监控。使用 SERP API 时,频率取决于你的套餐额度——大多数服务商都足够支持每天监控几百个 SKU。DIY 脚本则取决于你的基础设施能跑多快,但频率越高,反爬麻烦通常也越多。

我能把 Google Shopping 数据导出到 Google Sheets 或 Excel 吗?

可以。Thunderbit 可以免费直接导出到 Google Sheets、Excel、Airtable 和 Notion。Python 脚本也可以导出为 CSV 或 JSON,然后再导入任何表格工具。如果你要做持续监控,Thunderbit 定时导出到 Google Sheets 会生成一个实时自动更新的数据集。

  • 了解更多
Topics
使用 Python 抓取 Google ShoppingPython Google Shopping 爬虫用 Python 提取 Google Shopping 数据使用 Python 抓取 Google Shopping 商品价格
目录

试试 Thunderbit

只需 2 次点击即可抓取线索和其他数据。由 AI 驱动。

获取 Thunderbit 免费试用
使用 AI 提取数据
轻松将数据转移到 Google Sheets、Airtable 或 Notion
Chrome Store Rating
PRODUCT HUNT#1 Product of the Week