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

最后更新于 July 18, 2025

说真的,Amazon 就像互联网世界的购物广场、超市和数码商城。如果你做销售、电商或者运营,肯定深有体会:Amazon 上的每一个小变化都可能影响你的定价、库存,甚至决定下一个爆款产品的机会。但问题是:那些宝贵的商品详情、价格、评分和评论全都藏在为消费者设计的网页里,根本不是为需要数据的团队准备的。那怎么才能不再像 1999 年那样手动复制粘贴,轻松把这些数据搞到手呢?

这时候,网页爬虫就派上用场了。今天我就带你了解两种提取 Amazon 商品数据的方式:一种是传统的“自己用 Python 写代码”,另一种是用像 这样的零代码 AI 网页爬虫,让 AI 自动帮你搞定。我们会先用真实的 Python 代码演示(包括常见坑和解决办法),再展示如何用 Thunderbit 几次点击就能拿到同样的数据——完全不用写代码。不管你是开发者、业务分析师,还是已经厌倦手动录入数据的普通用户,这里都能找到适合你的方法。

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

Amazon 不只是全球最大的在线零售商,更是一个巨大的竞争情报宝库。平台上有 ,对于想要:

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

  • 监控价格(随时调整自己的定价)
  • 分析竞争对手(追踪新品、评分和评论)
  • 获取潜在客户(寻找卖家、供应商或合作伙伴)
  • 预测市场需求(关注库存和销量排名)
  • 洞察市场趋势(挖掘评论和搜索结果)

这些都不是空谈,很多企业已经通过这些方式获得了实实在在的收益。比如,有家电子产品零售商通过抓取 Amazon 价格数据,;还有品牌通过自动化竞争对手价格跟踪,

下面这张表简单总结了常见应用场景和预期收益:

应用场景适用人群典型收益 / 效果
价格监控电商、运营利润率提升 15%+,销售增长 4%,分析师工作量减少 30%
竞争对手分析销售、产品、运营更快调整价格,提升市场竞争力
市场调研(评论)产品、市场产品迭代更快,广告文案优化,SEO 洞察
潜在客户挖掘销售每月 3,000+ 潜在客户,每人每周节省 8 小时
库存与需求预测运营、供应链库存过剩减少 20%,缺货率降低
趋势发现市场、管理层及时发现热门产品和品类

更重要的是, 已经通过数据分析获得了可衡量的价值。如果你还没开始抓取 Amazon 数据,等于把洞察力和利润拱手让人。

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

想把 Amazon 数据导入表格或数据看板,主要有两种方式:

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

    用 Python 的 Requests、BeautifulSoup 等库自己写脚本。这样灵活性最高,但需要懂编程、应对反爬机制,还要随时维护脚本以适应 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(正则表达式,Python 内置)

安装依赖库:

1pip install requests beautifulsoup4 lxml pandas

项目结构建议:

  • 新建一个文件夹存放项目
  • 用编辑器新建 Python 文件(比如 amazon_scraper.py
  • 一切就绪,准备开工!

步骤详解:用 Python 爬取 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"

主图链接

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

如果是“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("Title:", product_title)
2print("Price:", price)
3print("Rating:", rating, "based on", reviews_count, "reviews")
4print("Main image URL:", main_image_url)
5print("Details:", 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)  # 字典列表
3 df.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 就是你的理想选择。

Thunderbit 是一款 AI 网页爬虫 Chrome 扩展,能帮你轻松抓取 Amazon 商品数据(以及几乎任何网站的数据),无需编程。它的优势包括:

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

  • AI 智能字段识别: 一键点击,Thunderbit 的 AI 自动识别页面数据并推荐字段(如标题、价格、评分等)。
  • 内置数据模板: 针对 Amazon 提供现成模板,常用字段一网打尽,无需配置。
  • 子页面抓取: 支持先抓取商品列表,再自动访问每个商品详情页补充更多信息。
  • 自动分页: 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 更适合你。

何时选择 Python、零代码或 AI 网页爬虫抓取 Amazon 数据

适合用 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
Shuai Guan
Shuai Guan
Co-founder/CEO @ Thunderbit. Passionate about cross section of AI and Automation. He's a big advocate of automation and loves making it more accessible to everyone. Beyond tech, he channels his creativity through a passion for photography, capturing stories one picture at a time.
Topics
Amazon 爬虫 Python零代码网页爬虫Python 网页爬虫AI 网页爬虫
目录

试用 Thunderbit

两步即可采集线索及其他数据,AI 驱动。

获取 Thunderbit 永久免费
用 AI 提取数据
一键导出数据到 Google 表格、Airtable 或 Notion
Chrome Store Rating
PRODUCT HUNT#1 Product of the Week