Google Shopping 每个月处理超过 。这意味着海量的价格数据、商品趋势和卖家信息——都已经在你的浏览器里,汇总自成千上万家零售商。
那怎么把这些数据从 Google Shopping 里导出来,放进表格里?这一步往往就开始变复杂了。我花了不少时间测试不同方案——从免代码浏览器扩展,到完整的 Python 脚本——体验从“哇,这也太简单了”到“我已经调了三天 CAPTCHA,想放弃了”不等。这个主题下的大多数教程都默认你本来就是 Python 开发者,但按我的经验,真正需要 Google Shopping 数据的人,大多是电商运营、定价分析师和营销人员,他们只想拿到数据,不想写代码。所以这篇指南会按从最简单到最技术向的顺序,介绍三种方法,方便你根据自己的技能水平和时间预算选择最合适的路径。
什么是 Google Shopping 数据?
Google Shopping 本质上是一个商品搜索引擎。输入“无线降噪耳机”,Google 就会从几十家在线商店抓取并展示商品列表——包括商品标题、价格、卖家、评分、图片和链接。它相当于一个实时更新的商品目录,展示着互联网上都在卖什么。
为什么要抓取 Google Shopping 数据?
单独看一个商品页面,信息其实很有限。把上百个商品整理到表格里,规律才会慢慢显现出来。

下面是我最常见到的使用场景:
| 使用场景 | 受益人群 | 重点关注什么 |
|---|---|---|
| 竞争性定价分析 | 电商团队、定价分析师 | 竞品价格、促销模式、价格变化趋势 |
| 商品趋势发现 | 市场团队、产品经理 | 新品、上升品类、评论增长速度 |
| 广告情报分析 | PPC 经理、增长团队 | 赞助商品、哪些卖家在投放、广告出现频率 |
| 卖家/线索研究 | 销售团队、B2B 团队 | 活跃商家、进入某个品类的新卖家 |
| MAP 监控 | 品牌经理 | 是否有零售商违反最低广告价政策 |
| 库存与品类结构跟踪 | 品类经理 | 库存可用性、商品品类缺口 |
现在都在使用 AI 定价工具。投资竞争情报定价分析的公司,据称回报高达 29 倍。亚马逊的价格大约每 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 Shopping 某个商品的详情页,可以拿到更丰富的数据:
| 字段 | 类型 | 说明 |
|---|---|---|
| 完整描述 | 文本 | 需要进入商品页面才能获取 |
| 所有卖家价格 | 数值(多个) | 可横向比较不同零售商的价格 |
| 规格参数 | 文本 | 因品类而异(尺寸、重量等) |
| 单条评论内容 | 文本 | 来自买家的完整评论文本 |
| 优缺点总结 | 文本 | 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 Web Store 安装 ,然后注册一个免费账号。
接着打开 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 这类服务都提供住宅代理池,价格通常从每 GB 1–5 美元起。
给 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 会频繁轮换类名。仅在 2024–2026 年,就记录了三套不同的选择器方案。尽量依赖更稳定的属性,例如 jsname、data-cid、<h3> 标签和 img[alt],而不是类名。
第 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 封锁,是大多数人放弃自建 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 将 JavaScript 执行变成了 SERP 和 Shopping 结果的必需项,——包括 SemRush 和 SimilarWeb 使用的一些流程。随后在 2025 年 9 月,Google 又弃用了旧版商品详情页 URL,改为跳转到一个通过异步 AJAX 加载的全新“沉浸式商品”界面。任何 2025 年年底之前写的教程,如今大多都已经过时了。
各种方法如何应对这些问题
SERP API 会在后台替你处理一切——代理、渲染、CAPTCHA 解决,全都不用你操心。
Thunderbit Cloud Scraping 使用分布式云基础设施,覆盖美国、欧洲和亚洲,自动处理 JS 渲染和反爬问题。Browser Scraping 模式则使用你自己的已登录 Chrome 会话,因为看起来就像普通用户在正常浏览,几乎不会触发检测。
自己写 Playwright 则意味着所有事情都得你来扛:代理管理、延迟调优、CAPTCHA 处理、选择器维护,以及持续监控脚本是否失效。
抓取 Google Shopping 数据的真实成本:一次坦诚对比
“5 万次请求要 50 美元……对我的个人项目来说有点贵。” 这种抱怨在论坛里经常出现。但大家通常忽略了最贵的成本。
成本对比表
| 方案 | 前期成本 | 单次请求成本(估算) | 维护负担 | 隐性成本 |
|---|---|---|---|---|
| 自建 Python(不使用代理) | 免费 | $0 | 很高(失效、CAPTCHA) | 你调试所花的时间 |
| 自建 Python + 住宅代理 | 代码免费 | 约 $1–5/GB | 中高 | 代理服务费用 |
| SERP API(SerpApi、ScraperAPI) | 免费额度有限 | 约 $0.50–5.00/千次查询 | 低 | 量大时费用增长很快 |
| Thunderbit Chrome 扩展 | 免费版(6 页) | 按积分计费,约 1 积分/行 | 非常低 | 大批量需要付费方案 |
| Thunderbit Open API(Extract) | 按积分计费 | 约 20 积分/页 | 低 | 按提取量付费 |
大家总是忽略的隐性成本:你的时间
一个看似 $0 的 DIY 方案,如果要你花 40 小时调试,那就一点也不免费。按每小时 $50 算,这已经是 $2,000 的人工成本——而且这个爬虫下个月 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 任务计划程序,或者 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 Prompt 在提取阶段先规范化,也可以后续用 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 会话(看起来就像正常浏览)。自己写的 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 可以生成一个实时自动更新的数据集。