Amazon 爬虫 Python 教程:如何提取商品数据

最后更新于 April 30, 2026

说实话,Amazon 基本上就是整个互联网的商场、超市和电子产品卖场。如果你从事销售、电商或运营,你早就知道,Amazon 上发生的事从来不只停留在 Amazon —— 它会影响你的定价、库存,甚至下一次重要的产品发布。但问题是:那些诱人的商品详情、价格、评分和评论,都被锁在一个为购物者而不是为“数据饥渴型”团队设计的网页界面里。那么,怎么才能拿到这些数据,又不用像 1999 年那样整个周末都在复制粘贴?

这就是网页爬虫发挥作用的地方。在这篇指南里,我会带你看两种提取 Amazon 商品数据的方法:一种是经典的“卷起袖子,用 Python 自己写”的方式,另一种是现代的“让 AI 帮你干重活”的方式,使用像 这样的无代码网页爬虫。我会一步步讲解真实的 Python 代码(包括各种坑和应对方法),然后再展示 Thunderbit 如何只需点几下就拿到同样的数据——完全不需要写代码。不管你是开发者、商业分析师,还是只是厌倦了手动录入数据的人,这篇文章都适合你。

为什么要提取 Amazon 商品数据?(amazon scraper python,python 网页爬取)

Amazon 不只是全球最大的在线零售商,它还是做竞争情报的最大开放市场。Amazon 上有 ,所以对任何想要以下信息的人来说,Amazon 都是一座金矿:

amazon-scraper-use-cases-price-monitoring-lead-generation.png

  • 监控价格(并实时调整你的定价)
  • 分析竞争对手(跟踪他们的新产品、评分和评论)
  • 生成潜在客户(找到卖家、供应商,甚至潜在合作伙伴)
  • 预测需求(观察库存水平和销量排名)
  • 发现市场趋势(从评论和搜索结果中挖掘信号)

而且这不只是理论——真实企业已经看到了真实回报。比如,一家电子产品零售商使用抓取到的 Amazon 定价数据,将 ;另一家品牌在自动化竞争对手价格跟踪后,实现了

下面是一张快速表格,概览这些用例以及你可以预期的回报类型:

用例使用者典型 ROI / 收益
价格监控电商、运营利润率提升 15%+,销量提升 4%,分析师工时减少 30%
竞争对手分析销售、产品、运营更快调整价格,竞争力提升
市场研究(评论)产品、市场更快迭代产品,更好的广告文案,SEO 洞察
潜在客户生成销售每月 3,000+ 潜在客户,每位销售每周节省 8+ 小时
库存与需求预测运营、供应链库存积压减少 20%,缺货更少
趋势发现市场、管理层更早识别爆款产品和品类

更关键的是: 现在都表示数据分析带来了可衡量的价值。如果你还没有抓取 Amazon,那你就是在把洞察(以及钱)留在桌面上。

概览:Amazon 爬虫 Python vs. 无代码网页爬虫工具

把 Amazon 数据从浏览器里拿出来,放进表格或仪表盘里,主要有两种方式:

  1. Amazon 爬虫 Python(python 网页爬取):

    用 Requests 和 BeautifulSoup 等 Python 库自己写脚本。这种方式控制力最强,但你需要会编程、处理反爬措施,并在 Amazon 改版时持续维护脚本。

  2. 无代码网页爬虫工具(比如 Thunderbit):

    使用一种让你点一点、选一选就能提取数据的工具——不需要写程序。像 这样的现代工具甚至会用 AI 帮你判断该抓哪些数据,处理子页面和分页,并直接导出到 Excel 或 Google Sheets。

它们的对比如下:

标准Python 爬虫无代码(Thunderbit)
设置时间高(安装、编码、调试)低(安装扩展即可)
所需技能需要编程不需要(点选即可)
灵活性无上限常见场景下很高
维护你来修代码工具自动更新
反爬处理你来处理代理、请求头内置处理,自动搞定
可扩展性手动(线程、代理)云端抓取,并行处理
数据导出自定义(CSV、Excel、数据库)一键导出到 Excel、Sheets
成本免费(耗费你的时间 + 代理费用)免费试用,规模化付费
最适合开发者、自定义需求商业用户、快速出结果

接下来的部分,我会带你看这两种方法——先讲如何用 Python 构建 Amazon 爬虫(附真实代码),再讲如何用 Thunderbit 的 AI 网页爬虫做同样的事。

开始使用 Amazon 爬虫 Python:准备工作与环境搭建

在进入代码之前,先把你的环境准备好。

你需要:

  • Python 3.x(可从 下载)
  • 一个代码编辑器(我喜欢 VS Code,但其他也可以)
  • 以下库:
    • requests(用于 HTTP 请求)
    • beautifulsoup4(用于 HTML 解析)
    • lxml(快速 HTML 解析器)
    • pandas(用于数据表格/导出)
    • re(正则表达式,内置)

安装这些库:

1pip install requests beautifulsoup4 lxml pandas

项目设置:

  • 为你的项目创建一个新文件夹。
  • 打开编辑器,新建一个 Python 文件(例如 amazon_scraper.py)。
  • 你可以开始了!

一步一步来:用 Python 抓取 Amazon 商品数据

我们先从抓取单个 Amazon 商品页开始。(别担心,稍后我们会讲如何抓取多个商品和多个页面。)

1. 发送请求并获取 HTML

首先,获取商品页的 HTML。(把 URL 换成任意 Amazon 商品页即可。)

1import requests
2url = "<https://www.amazon.com/dp/B0ExampleASIN>"
3response = requests.get(url)
4html_content = response.text
5print(response.status_code)

注意: 这种基础请求很可能会被 Amazon 拦截。你可能会看到 503 错误,或者看到验证码页面,而不是商品页。为什么?因为 Amazon 知道你不是真正的浏览器。

处理 Amazon 的反爬措施

Amazon 并不喜欢机器人。为了避免被拦截,你需要:

  • 设置 User-Agent 请求头(伪装成 Chrome 或 Firefox)
  • 轮换 User-Agent(不要每次都用同一个)
  • 控制请求频率(加入随机延迟)
  • 使用代理(适用于大规模抓取)

下面是设置请求头的方法:

1headers = {
2    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)... Safari/537.36",
3    "Accept-Language": "en-US,en;q=0.9",
4}
5response = requests.get(url, headers=headers)

想更进一步?可以准备一组 User-Agent,在每次请求时轮换使用。对于大规模任务,你最好使用代理服务(市面上有很多),但如果只是小规模抓取,请求头和延迟通常就够用了。

提取关键商品字段

拿到 HTML 之后,就可以用 BeautifulSoup 来解析了。

1from bs4 import BeautifulSoup
2soup = BeautifulSoup(html_content, "lxml")

接下来,我们来提取重点内容:

商品标题

1title_elem = soup.find(id="productTitle")
2product_title = title_elem.get_text(strip=True) if title_elem else None

价格

Amazon 的价格可能出现在几个不同的位置。你可以尝试这些:

1price = None
2price_elem = soup.find(id="priceblock_ourprice") or soup.find(id="priceblock_dealprice")
3if price_elem:
4    price = price_elem.get_text(strip=True)
5else:
6    price_whole = soup.find("span", {"class": "a-price-whole"})
7    price_frac = soup.find("span", {"class": "a-price-fraction"})
8    if price_whole and price_frac:
9        price = price_whole.text + price_frac.text

评分和评论数

1rating_elem = soup.find("span", {"class": "a-icon-alt"})
2rating = rating_elem.get_text(strip=True) if rating_elem else None
3review_count_elem = soup.find(id="acrCustomerReviewText")
4reviews_text = review_count_elem.get_text(strip=True) if review_count_elem else ""
5reviews_count = reviews_text.split()[0]  # 例如 "1,554 ratings"

主图 URL

Amazon 有时会把高分辨率图片藏在 HTML 里的 JSON 中。下面是一种快速的正则方法:

1import re
2match = re.search(r'"hiRes":"(https://.*?.jpg)"', html_content)
3main_image_url = match.group(1) if match else None

或者,直接抓取主图标签:

1img_tag = soup.find("img", {"id": "landingImage"})
2img_url = img_tag['src'] if img_tag else None

商品详情

品牌、重量、尺寸这类规格通常在表格里:

1details = {}
2rows = soup.select("#productDetails_techSpec_section_1 tr")
3for row in rows:
4    header = row.find("th").get_text(strip=True)
5    value = row.find("td").get_text(strip=True)
6    details[header] = value

或者,如果 Amazon 用的是 “detailBullets” 格式:

1bullets = soup.select("#detailBullets_feature_div li")
2for li in bullets:
3    txt = li.get_text(" ", strip=True)
4    if ":" in txt:
5        key, val = txt.split(":", 1)
6        details[key.strip()] = val.strip()

打印结果:

1print("标题:", product_title)
2print("价格:", price)
3print("评分:", rating, "基于", reviews_count, "条评论")
4print("主图 URL:", main_image_url)
5print("详情:", details)

抓取多个商品并处理分页

一个商品当然不错,但你大概率会想要整份列表。下面是如何抓取搜索结果和多个页面的方法。

从搜索页获取商品链接

1search_url = "<https://www.amazon.com/s?k=bluetooth+headphones>"
2res = requests.get(search_url, headers=headers)
3soup = BeautifulSoup(res.text, "lxml")
4product_links = []
5for a in soup.select("h2 a.a-link-normal"):
6    href = a['href']
7    full_url = "<https://www.amazon.com>" + href
8    product_links.append(full_url)

处理分页

Amazon 的搜索 URL 会使用 &page=2&page=3 等参数。

1for page in range(1, 6):  # 抓取前 5 页
2    search_url = f"<https://www.amazon.com/s?k=bluetooth+headphones&page={page}>"
3    res = requests.get(search_url, headers=headers)
4    if res.status_code != 200:
5        break
6    soup = BeautifulSoup(res.text, "lxml")
7    # ... 按上面的方法提取商品链接 ...

遍历商品页并导出到 CSV

把商品数据收集到字典列表中,然后用 pandas:

1import pandas as pd
2df = pd.DataFrame(product_data_list)  # 字典列表
3df.to_csv("amazon_products.csv", index=False)

或者导出到 Excel:

1df.to_excel("amazon_products.xlsx", index=False)

Amazon 爬虫 Python 项目的最佳实践

说实话,Amazon 一直在改网站,也一直在对抗爬虫。要让你的项目稳定运行,可以这样做:

  • 轮换请求头和 User-Agent(可使用 fake-useragent 之类的库)
  • 大规模抓取时使用代理
  • 控制请求频率(在请求之间加入随机 time.sleep()
  • 优雅地处理错误(遇到 503 重试,被拦截时退避)
  • 编写灵活的解析逻辑(每个字段都准备多个选择器)
  • 监控 HTML 变化(如果脚本突然对所有内容都返回 None,先检查页面)
  • 尊重 robots.txt(Amazon 禁止抓取很多区域——请负责任地抓取)
  • 边抓边清洗数据(去掉货币符号、逗号和空白)
  • 保持和社区的联系(论坛、Stack Overflow、Reddit 上的 r/webscraping)

维护爬虫的检查清单:

  • [ ] 轮换 User-Agent 和请求头
  • [ ] 如果是大规模抓取,使用代理
  • [ ] 加入随机延迟
  • [ ] 将代码模块化,方便更新
  • [ ] 监控封禁和验证码
  • [ ] 定期导出数据
  • [ ] 记录你的选择器和逻辑

想深入了解,可以看看我的

无代码替代方案:使用 Thunderbit AI 网页爬虫抓取 Amazon

好,你已经看过 Python 的做法了。但如果你不想写代码——或者你只想两次点击就拿到数据,然后继续过自己的生活——那就该轮到 出场了。

Thunderbit 是一款 AI 网页爬虫 Chrome 扩展,可让你零代码提取 Amazon 商品数据(以及几乎任何网站上的数据)。我喜欢它的原因如下:

thunderbit-key-features-ai-web-scraper.png

  • AI 智能字段建议: 只需点击一个按钮,Thunderbit 的 AI 就会识别页面上的数据,并建议列字段(例如标题、价格、评分等)。
  • 即用型数据模板: 对于 Amazon,已经内置了一个模板,可以抓取常见字段——完全无需设置。
  • 子页面抓取: 先抓取商品列表,然后让 Thunderbit 自动访问每个商品详情页,提取更多信息。
  • 分页处理: Thunderbit 可以自动帮你点击“下一页”或处理无限滚动。
  • 导出到 Excel、Google Sheets、Airtable、Notion: 一键导出,数据即可直接使用。
  • 免费额度: 可以免费试用少量页面。
  • 自动处理反爬问题: 因为它运行在你的浏览器里(或者云端),Amazon 会把它视为真实用户。

一步一步来:用 Thunderbit 抓取 Amazon 商品数据

其实非常简单:

  1. 安装 Thunderbit:

    下载 并登录。

  2. 打开 Amazon:

    前往你想抓取的 Amazon 页面(搜索结果页、商品详情页,随你)。

  3. 点击“AI 智能字段建议”或使用模板:

    Thunderbit 会建议要提取哪些列(或者你可以直接选择 Amazon 商品模板)。

  4. 检查列:

    如果需要,可以调整列(添加/删除字段、重命名等)。

  5. 点击“抓取”:

    Thunderbit 会提取页面数据,并把结果展示成表格。

  6. 处理子页面和分页:

    如果你抓的是列表,点击“抓取子页面”,就能访问每个商品详情页并自动提取更多信息。Thunderbit 还可以自动帮你点“下一页”。

  7. 导出数据:

    点击“导出到 Excel”或“导出到 Google Sheets”。搞定。

  8. (可选)定时抓取:

    如果你需要每天获取这些数据,可以用 Thunderbit 的定时功能自动执行。

就这么简单。无需代码、无需调试、无需代理、无需头疼。想看可视化演示,可以查看

Amazon 爬虫 Python vs. 无代码网页爬虫:并排对比

我们把所有内容放在一起看:

标准Python 爬虫Thunderbit(无代码)
设置时间高(安装、编码、调试)低(安装扩展即可)
所需技能需要编程不需要(点选即可)
灵活性无上限常见场景下很高
维护你来修代码工具自动更新
反爬处理你来处理代理、请求头内置处理,自动搞定
可扩展性手动(线程、代理)云端抓取,并行处理
数据导出自定义(CSV、Excel、数据库)一键导出到 Excel、Sheets
成本免费(耗费你的时间 + 代理费用)免费试用,规模化付费
最适合开发者、自定义需求商业用户、快速出结果

如果你是喜欢折腾、并且需要高度定制的开发者,Python 会是你的好朋友。如果你想要速度、简单和零代码,Thunderbit 才是更合适的选择。

什么时候该为 Amazon 数据选择 Python、无代码,或 AI 网页爬虫

适合用 Python 的情况:

  • 你需要自定义逻辑,或想把抓取流程集成到后端系统里
  • 你要大规模抓取(数万件商品)
  • 你想了解爬虫底层是怎么工作的

适合用 Thunderbit(无代码、AI 网页爬虫)的情况:

  • 你想快速拿到数据,不想写代码
  • 你是业务用户、分析师或市场人员
  • 你需要让团队成员自己拿到数据
  • 你想省去代理、反爬措施和维护的麻烦

两者结合使用的情况:

  • 你想先用 Thunderbit 快速做原型,再为生产环境构建自定义 Python 方案
  • 你想用 Thunderbit 负责数据采集,用 Python 负责数据清洗/分析

对大多数业务用户来说,Thunderbit 可以用极短的时间覆盖 90% 的 Amazon 抓取需求。剩下那 10%——高度定制、大规模或深度集成的场景——Python 仍然是王者。

结论与核心要点

抓取 Amazon 商品数据,是销售、电商和运营团队的一项超级能力。无论你是在跟踪价格、分析竞争对手,还是只是想让团队摆脱没完没了的复制粘贴,总有适合你的方案。

  • Python 抓取 能给你完全控制权,但学习曲线和持续维护成本都更高。
  • 像 Thunderbit 这样的无代码网页爬虫 让每个人都能轻松提取 Amazon 数据——无需编码,没有负担,直接出结果。
  • 最好的方法?用最适合你技能、时间安排和业务目标的工具。

如果你感兴趣,不妨试试 Thunderbit——它可以免费开始,你会惊讶于自己能多快拿到所需数据。如果你是开发者,也别害怕混合使用:有时候,最快的构建方式就是让 AI 帮你做那些枯燥的部分。

常见问题

1. 企业为什么要抓取 Amazon 商品数据?

抓取 Amazon 可以帮助企业监控价格、分析竞争对手、收集评论用于产品研究、预测需求并生成销售线索。Amazon 上有超过 6 亿件商品和近 200 万卖家,是竞争情报的重要来源。

2. 用 Python 和像 Thunderbit 这样的无代码工具抓取 Amazon,主要区别是什么?

Python 爬虫灵活性最高,但需要编程技能、设置时间和持续维护。Thunderbit 作为无代码 AI 网页爬虫,可让用户通过 Chrome 扩展即时提取 Amazon 数据——无需编程,内置反爬处理,并支持导出到 Excel 或 Sheets。

3. 抓取 Amazon 数据合法吗?

Amazon 的服务条款通常禁止抓取,而且它会主动部署反爬措施。不过,很多企业仍会抓取公开可访问的数据,同时确保以负责任的方式操作,例如控制请求频率,避免过度请求。

4. 使用网页爬虫工具能从 Amazon 提取哪些类型的数据?

常见字段包括商品标题、价格、评分、评论数、图片、商品规格、库存状态,甚至卖家信息。Thunderbit 还支持子页面抓取和分页,以获取多个商品列表和页面中的数据。

5. 什么时候该选择 Python 抓取,什么时候该选 Thunderbit 之类的工具?

如果你需要完全控制、自定义逻辑,或者计划把抓取集成到后端系统里,就用 Python。如果你想快速出结果、不想写代码、需要轻松扩展,或者你是想要低维护方案的业务用户,就用 Thunderbit。

想深入了解?看看这些资源:

祝你抓取顺利,愿你的表格永远保持最新。

试用 Thunderbit AI 网页爬虫抓取 Amazon
Topics
Amazon 爬虫 Python零代码网页爬虫Python 网页爬虫AI 网页爬虫
目录

试试 Thunderbit

只需 2 次点击即可抓取潜在客户和其他数据。AI 驱动。

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