亚马逊新账号看不到评论?刷多了还封号——这个工具彻底解决
Python 采集亚马逊评论完整指南CSRF 令牌获取与 Cookie 池管理实践本文涉及的开源项目地址https://github.com/zhuojiuya/Amazon-Review前言在做亚马逊评论数据采集时开发者通常会遇到两个棘手问题新账号无法查看评论账号无购买记录时评论区内容被隐藏或限制频繁翻页触发封控高频访问评论区会触发 CAPTCHA 验证或临时封禁账号本文记录一套完整的评论数据采集方案包含可视化平台和 Python SDK 两种接入方式重点介绍 Cookie 池管理、CSRF 令牌获取与并发任务调度的工程实现。一、核心技术难点分析1.1 亚马逊评论页的访问限制机制亚马逊针对评论页有以下防护策略未登录或新账号评论内容部分或全部隐藏短时间内高频翻页触发滑块验证或 IP 限速账号无购买记录部分站点评论区不可见1.2 CSRF 令牌机制亚马逊评论接口采用 CSRF 令牌保护每次请求前需先从商品页提取有效令牌。令牌与 Cookie 绑定Cookie 失效时令牌同步失效。常见失败场景返回 HTTP 200 但页面无 CSRF 令牌 → Cookie 已被软封需更换返回 4xx/5xx → 网络或代理问题令牌提取后短期内失效 → Cookie 被平台检测为异常1.3 Cookie 池的必要性单个 Cookie 频繁请求极易触发限制Cookie 池通过以下策略提升稳定性独占锁同一时间一个 Cookie 只分配给一个任务临时锁定Cookie 出现 200 无令牌时锁定 N 分钟后再用自动禁用累计 404 超过阈值自动下架LRU 分配优先使用最久未用的 Cookie均衡使用频率二、方案一可视化平台无代码适合不写代码的运营和选品人员。平台地址www.reveyes.cn注册后即可使用新用户有体验积分。2.1 添加采集任务在「ASIN 管理」页面填写参数后提交系统自动排队处理参数可选值说明marketplaceUS / UK / DE 等 19 个站点pages150每页约 10 条按实际页数计费filter_starall_starspositivecriticalfive_star…critical 差评(1-3星)filter_sort_byrecent/helpfulfilter_reviewer_typeall_reviews/avp_only_reviews后者仅已验证购买filter_media_typeall_contents/with_reviews后者仅含图片/视频支持 Excel 模板批量导入单次最多 50 个 ASIN。2.2 查看评论与 AI 分析采集完成后可直接查看原始评论支持按星级、关键词、日期过滤可导出 CSV也可触发 AI 分析自动生成结构化报告情感分布好评/中性/差评占比及趋势核心优缺点附评论原文证据溯源用户画像与购买动机分析产品改进建议与 Listing 优化方向广告投放关键词推荐报告可一键生成分享链接发给同事或客户直接查看无需登录。2.3 差评监控添加监控任务后系统按设定频率自动拉取新评论出现差评实时推送通知。三、方案二Python SDK 接入3.1 安装pipinstallreveyes依赖仅requests支持 Python 3.8。3.2 鉴权配置在 reveyes.cn 控制台的「Open API」页面创建 API KeyimportosfromreveyesimportReveyesClient clientReveyesClient(api_keyos.environ[REVEYES_API_KEY])3.3 提交采集任务taskclient.fetch_reviews([{asin:B08G4CC41H,marketplace:US,pages:5,filter_star:critical,filter_sort_by:recent,filter_reviewer_type:avp_only_reviews,},{asin:B0BQD3TMB1,marketplace:DE,pages:3,},])print(ftask_id{task.task_id}, 预扣积分{task.pre_deduct})积分按页预扣实际抓取页数少于预付时差额自动退还。3.4 查询任务状态task status 流转pending→running→done/partial/failedimporttimewhileTrue:resultclient.get_task_result(task.task_id)print(f状态:{result.status}, 进度:{result.finished_asins}/{result.total_asins})ifresult.statusin(done,partial,failed):breaktime.sleep(10)或使用阻塞式等待resultclient.wait_for_task(task.task_id,timeout300)print(f实扣积分:{result.actual_deduct}, 共{result.reviews.total}条评论)3.5 迭代全量评论forreviewinclient.iter_all_reviews(task.task_id):print(review.asin,review.rating,review.review_content)3.6 评论对象字段review.review_id# 亚马逊原始评论 IDreview.rating# 15review.title# 标题review.review_date# 2025-03-15review.review_content# 正文review.verified_purchase# 1已验证购买review.helpful_votes# 有帮助票数review.product_variant# 变体信息如 Color: Blackreview.images# 图片 URL 列表review.profile_url# 评论者主页3.7 完整示例差评导出 CSVimportcsv,osfromreveyesimportReveyesClient clientReveyesClient(api_keyos.environ[REVEYES_API_KEY])taskclient.fetch_reviews([{asin:B08G4CC41H,marketplace:US,pages:10,filter_star:critical}])client.wait_for_task(task.task_id,timeout300)withopen(critical_reviews.csv,w,newline,encodingutf-8-sig)asf:wcsv.writer(f)w.writerow([asin,rating,date,verified,helpful_votes,title,content])forrinclient.iter_all_reviews(task.task_id):w.writerow([r.asin,r.rating,r.review_date,r.verified_purchase,r.helpful_votes,r.title,r.review_content])print(导出完成)四、HTTP API 直接调用不依赖 SDK直接调用 REST 接口# 提交任务curl-XPOST https://server.reveyes.cn/api/open/v1/reviews/fetch\-HX-API-Key: your_key\-HContent-Type: application/json\-d{asins:[{asin:B08G4CC41H,marketplace:US,pages:3}]}# 查询结果curlhttps://server.reveyes.cn/api/open/v1/reviews/result/{task_id}?page1page_size50\-HX-API-Key: your_key错误码说明code含义0成功1001API Key 无效1002积分不足1003参数错误1004任务不存在五、工程实现要点5.1 Cookie 池并发管理Cookie 分配使用数据库行级锁保证多进程/多线程安全SELECT*FROMamazon_nurture_tasksWHEREmarketplace?ANDis_usable1ANDin_use0AND(locked_untilISNULLORlocked_untilNOW())ORDERBYlast_used_atASCLIMIT1FORUPDATE查询后立即UPDATE in_use 1任务完成后释放。5.2 CSRF 令牌获取容错200 无令牌是 Cookie 被软封的信号处理策略获取 CSRF 令牌 ├── 成功 → 继续爬取 ├── 200 无令牌 → 锁定当前 Cookie 10 分钟 → 换新 Cookie → 重试最多10次 └── 其他错误 → 任务标记失败等待重试队列5.3 任务并发调度采用异步并发限制器控制同时运行的任务数asyncfunctionrunConcurrent(items,fn,limit){constexecutingnewSet();for(constitemofitems){constpfn(item).finally(()executing.delete(p));executing.add(p);if(executing.sizelimit){awaitPromise.race(executing);}}awaitPromise.allSettled(executing);}limit值建议不超过当前站点可用 Cookie 数量。5.4 反爬延迟策略每页请求之间加随机延迟避免固定频率被识别constmsminDelayMath.floor(Math.random()*(maxDelay-minDelay));awaitsleep(ms);// 默认 20005000ms六、开源说明核心采集逻辑、后端服务与前端界面均已在 GitHub 开源可自行部署私有化版本https://github.com/zhuojiuya/Amazon-Review