Google Shopping 每月会处理超过 。这也就意味着,海量的价格数据、商品趋势和商家信息,都被整整齐齐地聚合在你的浏览器里,数据来源覆盖成千上万家零售商。
那要怎么把这些数据从 Google Shopping 里导出来,并整理到表格里呢?这一步往往最让人头大。我花了不少时间测试各种方案——从零代码浏览器插件到完整的 Python 脚本——体验落差真的很大:有时候是“哇,这也太简单了”,有时候则是“我已经连着调了三天 CAPTCHA,真的不想再折腾了”。市面上大多数教程默认你本来就是 Python 开发者,但按我的经验,真正需要 Google Shopping 数据的人,大多是电商运营、定价分析师和营销人员,他们只想要结果,不想写代码。所以这篇指南会按从简单到进阶的顺序,介绍三种方法,方便你根据自己的技术水平和时间安排,选出最合适的路径。
什么是 Google Shopping 数据?
Google Shopping 本质上就是一个商品搜索引擎。你输入“无线降噪耳机”,Google 就会从几十家网店抓取并展示结果——商品标题、价格、卖家、评分、图片、链接,一应俱全。它就像一个实时更新的商品目录,持续汇总全网在售产品信息。
为什么要抓取 Google Shopping 数据?
单个商品页能告诉你的信息其实很有限。但如果把成百上千个商品整理进表格,规律就会一下子浮现出来。

以下是我见过最常见的使用场景:
| 使用场景 | 受益人群 | 关注重点 |
|---|---|---|
| 竞争定价分析 | 电商团队、定价分析师 | 竞品价格、促销模式、价格变化趋势 |
| 商品趋势发现 | 营销团队、产品经理 | 新品、增长中的品类、评论增长速度 |
| 广告情报分析 | 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 | 新商品有时不会显示 |
| 商品图片 URL | URL | https://... | 初始加载时可能返回 base64 占位图 |
| 商品链接 | URL | https://... | 链接到 Google 商品页或直接跳转到商家页面 |
| 物流信息 | 文本 | "Free shipping" | 不一定会出现 |
| 赞助标识 | 布尔值 | Yes/No | 表示付费展示,对广告情报很有价值 |
商品详情页可提取字段(子页面数据)
如果点击进入某个商品的详情页,你还能拿到更丰富的数据:
| 字段 | 类型 | 说明 |
|---|---|---|
| 完整描述 | 文本 | 需要进入商品页才能获取 |
| 所有卖家价格 | 数值(多个) | 可横向对比不同零售商的价格 |
| 规格参数 | 文本 | 会因品类不同而变化(尺寸、重量等) |
| 单条评论内容 | 文本 | 买家的完整评价文本 |
| 优缺点总结 | 文本 | Google 有时会自动生成 |
要拿到这些字段,就需要在抓取搜索结果后继续访问每个商品的子页面。支持 的工具可以自动完成这一步——下面我会把整个流程讲清楚。
抓取 Google Shopping 数据的三种方式(按你的情况选)

下面按从最简单到最技术化的顺序列出三种方法。你可以直接跳到最适合自己的那一行:
| 方法 | 技术门槛 | 准备时间 | 反爬处理 | 适合人群 |
|---|---|---|---|---|
| 无代码(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+、
requests和pandas库、一个 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,包含 title、price、link、thumbnail、source(卖家)和 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 年间,就已经记录了三套不同的选择器方案。尽量依赖更稳定的属性,比如 jsname、data-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,你可能还得再来一轮。

麦肯锡 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 脚本,而是两次点击。
如果你需要更大的抓取量,可以看看 ;也可以到 看我们的教程,实际演示会更直观。
常见问题
抓取 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 会生成一个实时自动更新的数据集。
- 了解更多