Amazon亚马逊review评论爬虫-最新可用202508

Amazon亚马逊review评论爬虫-最新可用202508

Amazon 评论爬虫示例

版本: v2.0.0
更新时间: 2025 年 8 月
特性: 高级 TLS 指纹伪装 + 智能反爬虫

这是一个专业级的 Amazon 评论爬虫示例,演示了完整的企业级爬取流程。采用先进的 JA3 指纹随机化技术,有效绕过 Amazon 的反爬虫检测。

🚀 核心特性

  • 高性能架构: 异步处理 + 智能重试,支持大规模批量爬取
  • 🔒 企业级反爬虫: JA3 指纹随机化 + 真实浏览器模拟 + 代理轮换
  • 🍪 智能 Cookie 管理: BitBrowser + Playwright 自动维护会话状态
  • 🌍 多站点支持: 支持 12 个 Amazon 国际站点
  • 🎯 精准数据解析: 多国评论格式兼容,支持图片/视频提取
  • 📊 灵活数据导出: Excel/JSON 双格式输出,字段可配置
  • 🛠️ 开发者友好: 模块化设计,易于集成和扩展

📁 项目结构

demo/
├── simple_review_crawler.py    # 🎯 主爬虫引擎 (916行)
├── review_parser.py            # 🔍 评论解析器 (579行)
├── config.py                   # ⚙️ 配置管理
├── requirements.txt            # 📦 依赖包列表
├── asins.txt                   # 📋 ASIN列表文件
├── reviews.xlsx               # 📊 示例输出数据
├── amazon_review_gui.py       # 🖥️ GUI界面版本
├── build_gui.py               # 📦 GUI打包脚本
├── requirements_gui.txt       # 📋 GUI版本依赖
├── README_GUI.md             # 📖 GUI版本文档
└── README.md                 # 📖 项目文档

核心组件说明

组件 功能 特点
SimpleReviewCrawler 主爬虫类 JA3 随机化、代理管理、Cookie 自动刷新
ReviewParser 评论解析器 多国格式兼容、媒体提取、智能字段识别
config.py 配置中心 站点映射、爬虫参数、输出设置
amazon_review_gui.py GUI 界面版本 图形化操作、实时监控、参数保存
build_gui.py 打包工具 一键打包成 exe、无需 Python 环境运行

📋 版本选择指南

本项目提供两个版本,请根据自己的情况选择:

🎯 推荐选择

用户类型 推荐版本 原因
🔰 无编程基础用户 GUI 版本 图形化界面,无需代码修改,一键运行
👨‍💻 有编程经验用户 命令行版本 更灵活的配置,便于二次开发
🏢 企业批量使用 命令行版本 便于集成到自动化系统
📚 学习研究用途 两个版本都可 GUI 版本便于理解,命令行版本便于学习代码

🖥️ GUI 版本使用步骤(推荐新手)

1. 下载和启动

方式一:下载可执行文件

下载地址:点我下载review爬虫exe

1. 下载 Amazon评论爬虫_GUI_v2.0.zip
2. 解压到任意目录
3. 双击 Amazon评论爬虫GUI.exe 运行

方式二:源码运行

# 安装GUI版本依赖
pip install -r requirements_gui.txt

# 运行GUI程序
python amazon_review_gui.py

2. 界面配置

自行配置浏览器id与代理

在 GUI 界面中完成以下配置:

🔧 基础配置标签页:

  • 浏览器 ID: 输入 BitBrowser 中的浏览器 ID


  • Amazon 站点: 选择目标站点(US、UK、DE 等)

  • ASIN 列表: 输入要爬取的产品 ASIN,每行一个

  • 最大页数: 设置每个 ASIN 爬取的最大页数

  • 输出文件: 选择 Excel 文件保存路径

⚙️ 高级配置标签页:

  • 代理设置: 可选择启用 HTTP 代理
  • JA3 随机化: 建议启用,提升反爬虫能力
  • JSON 备份: 建议启用,双重数据保障

3. 开始爬取

  1. 点击 🚀 开始爬取 按钮
  2. 实时观察右侧日志面板的进度和状态
  3. 等待任务完成,程序会自动保存数据

💻 命令行版本使用步骤(技术用户)

1. 安装依赖

pip install -r requirements.txt

注意: requests-go 是一个特殊的 HTTP 请求库,具有高级 TLS 指纹伪装功能和 JA3 随机化。如果安装失败,请参考 官方文档。

2. 准备 ASIN 文件

asins.txt 文件中放入要爬取的 ASIN,一行一个:

B08N5WRWNW
B07XJ8C8F5
B09G9FPHY6

3. 配置浏览器 ID

修改 simple_review_crawler.py 中的配置:

BROWSER_ID = "your_browser_id_here"  # 替换为你的BitBrowser浏览器ID
MARKETPLACE = "US"  # 站点代码:US, UK, DE, CA等

4. 运行爬虫

python simple_review_crawler.py

配置说明

🔧 配置文件详解 (config.py)

站点配置:

SITE_MAPPING = {
    "US": "amazon.***",     # 🇺🇸 美国站
    "UK": "amazon.co.uk",   # 🇬🇧 英国站
    "DE": "amazon.de",      # 🇩🇪 德国站
    "JP": "amazon.co.jp",   # 🇯🇵 日本站
    # ... 支持12个站点
}

爬虫参数:

CRAWLER_CONFIG = {
    "max_pages": 3,           # 📄 每个ASIN最大页数
    "page_delay": (2, 4),     # ⏱️ 页面间隔(秒)
    "asin_delay": (5, 10),    # 🔄 ASIN间隔(秒)
    "request_timeout": 25,    # ⏰ 请求超时
    "max_retries": 3,         # 🔁 最大重试次数
}

输出配置:

OUTPUT_CONFIG = {
    "excel_file": "reviews.xlsx",  # 📊 Excel输出
    "backup_json": True,           # 💾 JSON备份
    "json_file": "reviews.json",   # 🗂️ JSON文件
}

📋 运行参数

参数 说明 默认值 示例
BROWSER_ID BitBrowser 浏览器 ID - "0d165bc9ae084946bec7048279a1cf26"
MARKETPLACE Amazon 站点代码 "US" "UK", "DE", "JP"
MAX_PAGES 每个 ASIN 最大爬取页数 3 5, 10
ASIN_FILE ASIN 列表文件路径 "asins.txt" "my_products.txt"
OUTPUT_FILE 输出 Excel 文件路径 "reviews.xlsx" "results_2024.xlsx"

支持的站点

  • US: amazon.*** (美国)
  • UK: amazon.co.uk (英国)
  • DE: amazon.de (德国)
  • CA: amazon.ca (加拿大)
  • FR: amazon.fr (法国)
  • IT: amazon.it (意大利)
  • ES: amazon.es (西班牙)
  • AU: amazon.***.au (澳大利亚)
  • JP: amazon.co.jp (日本)

输出数据格式

Excel 文件包含以下字段:

字段 说明
asin 产品 ASIN
page 评论页数
position 页面内位置
review_id 评论 ID
reviewer_name 评论者姓名
review_title 评论标题
review_content 评论内容
rating 评分(1-5 星)
review_date 评论日期
verified_purchase 是否验证购买
helpful_count 有用投票数

工作流程

1. 读取asins.txt文件
    ↓
2. 初始化爬虫(指定浏览器ID)
    ↓
3. 获取代理IP
    ↓
4. 调用BitBrowser刷新Cookie
    ↓
5. 对每个ASIN:
   - 检查产品是否存在
   - 获取CSRF令牌
   - 爬取评论数据(多页)
   - 解析评论信息
    ↓
6. 保存所有评论到Excel文件

注意事项

  1. BitBrowser 配置: 确保 BitBrowser 正在运行,端口为 54345
  2. 浏览器 ID: 必须使用有效的浏览器 ID
  3. 代理服务: 确保代理 API 服务正常运行 (http://172.16.1.227:3001)
  4. 请求频率: 内置了随机延迟,避免请求过于频繁
  5. 错误处理: 遇到错误会跳过当前 ASIN,继续处理下一个
  6. 数据质量: 只保存有内容的评论数据

🏗️ 技术架构

⚡ 核心技术亮点

🔥 JA3 指纹随机化技术

采用业界领先的 requests-go 库,实现动态 TLS 指纹伪装

# 🎯 每个ASIN自动生成独特的TLS指纹
def _create_session_for_asin(self, asin: str):
    # 基础配置
    self.current_tls_config.ja3 = requests_go.tls_config.random_ja3(base_ja3_str)

    # 🔄 JA3指纹实时随机化
    print(f"为ASIN {asin} 生成新的随机 JA3 指纹")
    print(f"JA3: {str(self.current_tls_config.ja3)[:50]}...")

技术优势:

  • 指纹多样性: 每次请求使用不同的 TLS 指纹,模拟真实用户行为
  • 动态伪装: 支持 Chrome/Firefox/Safari 多种浏览器指纹
  • 深度对抗: 绕过基于 JA3 指纹的高级检测系统
  • 性能优化: 零延迟指纹生成,不影响爬取速度
# 📊 JA3指纹随机化效果示例
JA3-1: 771,4865-4866-4867-49195-49199,18-13-21-17513-43-11-0...
JA3-2: 771,4865-4866-4867-49195-49199,13-23-18-51-10-11-17513...
JA3-3: 771,4865-4866-4867-49195-49199,16-18-5-27-0-13-11-43...

🍪 智能 Cookie 管理

BitBrowser + Playwright 双重保障:

# 🚀 异步Cookie获取
async def _get_amazon_cookie_async(self):
    async with async_playwright() as playwright:
        browser = await chromium.connect_over_cdp(ws_url)
        # 访问真实Amazon页面获取有效Cookie
        await page.goto(f"https://www.{self.domain}/robots.txt")

🌐 多站点智能适配

支持 12 个国际站点,自动适配本地化格式:

站点 域名 特殊处理
🇺🇸 US amazon.*** 标准格式
🇬🇧 UK amazon.co.uk 英式日期格式
🇩🇪 DE amazon.de 德语评论解析
🇯🇵 JP amazon.co.jp 日语字符处理

📈 性能指标

基于实际测试的性能数据:

指标 数值 说明
爬取速度 50-80 评论/分钟 包含延迟和反爬虫措施
成功率 95%+ 配置正确的情况下
内存使用 ~100-200MB 单进程运行
网络耗时 2-5 秒/页面 包含代理延迟
数据准确率 99.9% 评论字段完整性

🔌 API 参考

SimpleReviewCrawler 类

class SimpleReviewCrawler:
    def __init__(self, browser_id: str, marketplace: str = "US")
    def refresh_cookie(self) -> bool                    # 刷新Cookie
    def get_csrf_token(self, asin: str) -> bool        # 获取CSRF令牌
    def crawl_reviews(self, asin: str, max_pages: int) # 爬取评论
    def get_proxy(self) -> bool                        # 获取代理IP

ReviewParser 类

class ReviewParser:
    def parse_reviews(self, response_text: str, page_number: int) # 解析评论
    def _extract_rating(self, review_element) -> float           # 提取评分
    def _extract_content(self, review_element) -> str           # 提取内容
    def _extract_media(self, review_element) -> Dict            # 提取媒体

快速集成示例

from simple_review_crawler import SimpleReviewCrawler

# 🚀 快速开始
crawler = SimpleReviewCrawler("your_browser_id", "US")
crawler.refresh_cookie()
reviews = crawler.crawl_reviews("B08N5WRWNW", max_pages=3)

# 📊 处理结果
print(f"获取到 {len(reviews)} 条评论")
for review in reviews[:3]:
    print(f"⭐ {review['rating']}星 - {review['title']}")

💡 扩展功能

🖥️ GUI 版本特有功能

  • 📱 触屏友好: 支持高 DPI 显示和触屏操作
  • 🎨 主题切换: 明亮/暗黑主题切换
  • 📊 可视化报表: 爬取进度图表和统计分析
  • 💾 任务队列: 批量任务管理和排队执行
  • 🔔 系统通知: Windows 系统托盘通知
  • 📋 历史记录: 爬取任务历史和结果对比

🛠️ 通用扩展功能

  • 🌟 增加站点支持: 添加更多 Amazon 国际站点
  • 🔍 智能筛选: 自定义评论筛选条件 (评分、日期、关键词)
  • 🖼️ 媒体下载: 自动下载评论中的图片和视频
  • 📈 增量更新: 只获取新增的评论数据
  • 💾 数据库集成: 支持 MySQL、MongoDB 等数据库存储
  • 📊 数据分析: 情感分析、词云生成、趋势分析
  • 🔄 实时监控: 定时任务、邮件通知、API 接口
  • 🚀 分布式部署: 多机器并行、负载均衡

📝 示例数据说明

reviews.xlsx - 示例输出文件,包含约 50 条真实评论数据,展示:

  • ✅ 完整的评论字段结构
  • ✅ 多种评分分布 (1-5 星)
  • ✅ 不同长度的评论内容
  • ✅ 验证购买和非验证购买
  • ✅ 多媒体内容示例

字段说明:

{
    "reviewId": "R12345...",           # 评论唯一ID
    "userName": "John D.",             # 评论者姓名
    "rating": 4.0,                     # 评分 (1-5星)
    "title": "Great product!",         # 评论标题
    "reviewContent": "Very satisfied", # 评论内容
    "date": "January 15, 2024",        # 评论日期
    "verifiedPurchase": true,          # 是否验证购买
    "helpfulVotes": 12,                # 有用投票数
    "images": ["https://..."],         # 图片URLs
    "videos": [{"url": "...", "thumbnail": "..."}], # 视频信息
    "page": 1                          # 页码
}

故障排除

常见问题

  1. 代理获取失败

    • 检查代理 API 服务是否运行 (http://172.16.1.227:3001)
    • 检查网络连接
    • 代理失败时系统会在无代理模式下继续运行
  2. Cookie 刷新失败

    • 检查 BitBrowser 是否运行
    • 确认浏览器 ID 正确
    • 检查网络连接
  3. CSRF 令牌获取失败

    • Cookie 可能已过期,重新刷新
    • 检查站点域名配置
    • 代理可能被封,尝试重新获取
  4. 评论数据为空

    • 产品可能没有评论
    • 页面结构可能发生变化
    • 检查反爬虫限制
    • 代理 IP 可能被限制
  5. Excel 保存失败

    • 检查文件权限
    • 确保 openpyxl 已安装
    • 检查磁盘空间

📚 版本更新历史

v2.0.0 (2025 年 1 月)

🖥️ GUI 版本重大更新:

  • 🆕 全新 GUI 图形化界面(PyQt5)
  • 🆕 一键打包成 exe 可执行文件
  • 🆕 实时进度监控和详细日志
  • 🆕 参数配置保存和加载功能
  • 🆕 智能错误诊断和解决建议
  • 🆕 多线程架构,界面响应流畅

⚡ 技术架构升级:

  • 🆕 新增 JA3 指纹随机化技术
  • 🆕 重构代码架构,提升可维护性
  • 🆕 增强多国评论解析能力
  • 🆕 添加配置文件管理
  • 🆕 完善错误处理和重试机制
  • 🆕 优化性能,提升爬取效率

v1.0.0 (2024 年初)

  • 🎉 初始版本发布
  • ✅ 基础评论爬取功能
  • ✅ BitBrowser 集成
  • ✅ Excel 数据导出

🤝 贡献指南

欢迎贡献代码和建议!

  1. Fork 本项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git ***mit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

📞 技术支持

📋 版本支持

  • 🖥️ GUI 版本: 详见 README_GUI.md 获取 GUI 版本专属支持信息
  • 💻 命令行版本: 本文档提供完整技术支持

联系方式

  • 🐛 问题报告: Issues
  • 💬 gitee仓库:amazon_review_crawler
  • 💬 技术交流: GUI 版本用户可通过界面日志提供详细错误信息
  • 📧 联系邮箱:
  • 📖 文档更新: 欢迎提交文档改进建议

Amazon 账号服务

  • 🛒 账号获取: https://www.buy-user.***/
  • 💬 客服咨询: @hnhyCd (Telegram),phanphuongnam170@gmail.***(邮箱)
  • 🔒 账号类型: 支持各种类型和地区的 Amazon 账号
  • 💎 质量保证: 提供稳定可靠的账号资源

⚖️ 免责声明

⚠️ 重要提醒: 本代码仅供学习和研究使用,请遵守 Amazon 的使用条款和相关法律法规。

使用原则:

  • 合理使用: 控制请求频率,避免对服务器造成压力
  • 尊重协议: 遵守网站的 robots.txt 和使用条款
  • 学术研究: 仅用于学术研究和技术学习
  • 法律合规: 遵守当地法律法规和数据保护条例

禁止行为:

  • ❌ 商业用途或盈利性活动
  • ❌ 大规模数据采集和存储
  • ❌ 侵犯他人隐私和权益
  • ❌ 恶意攻击或破坏行为

如果本项目对您有帮助,请给个 ⭐ Star 支持一下!

Made with ❤️ by Amazon Review Crawler Team

转载请说明出处内容投诉
CSS教程网 » Amazon亚马逊review评论爬虫-最新可用202508

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买