2025 年如何绕过 Amazon CAPTCHA

Post Time: May 29, 2025

亚马逊的 CAPTCHA 系统是一项至关重要的安全机制,旨在区分人类用户和自动机器人。如果您从事网页抓取或自动化工作,遇到 CAPTCHA 可能会中断您的工作流程。本指南探讨了几种有效绕过 Amazon CAPTCHA 的高级策略,同时确保抓取过程的可靠性。

了解 Amazon CAPTCHA

amazon_all_captcha

Amazon CAPTCHA 通常是一种基于文本的验证,用户必须输入显示的字符。该系统会检测并响应非人类行为,从而阻止自动访问 Amazon 数据。此安全措施主要应用于涉及重复或脚本化操作的场景,例如:

  • 频繁访问产品页面或直接通过脚本访问。

  • 进行自动搜索查询。

  • 登录或创建多个账户。

由于亚马逊没有明确规定触发验证码的条件,其行为仍然难以预测。即使是基本的 Selenium 脚本,也可能前一刻运行顺利,下一刻就遇到验证码,这使得构建稳定的抓取工具变得复杂。

如何绕过亚马逊验证码

1. 使用隐形浏览器

人类用户很少遇到验证码,因为亚马逊的安全系统主要针对自动化脚本。修改浏览器自动化程序以模拟真实用户行为,可以显著减少验证码的遭遇次数。这可以通过使用专门的工具来修改浏览器指纹和行为来实现。

推荐工具

  • SeleniumBase – 增强 Selenium 的隐形功能。

  • Playwright Stealth – 修改浏览器特性以避免被检测到。

  • Puppeteer Stealth – 使 Puppeteer 脚本看起来更像人类。

  • undetected-chromedriver – 一个修补过的 WebDriver,可以绕过检测机制。

示例:使用 SeleniumBase 实现隐身方法

python Copy
1from seleniumbase import Driver
2
3# 以隐身模式启动 SeleniumBase 驱动程序
4driver = Driver(uc=True)
5driver.get("https://www.amazon.com/Amazon-Kindle/dp/B0CNV9F72P")
6driver.save_screenshot("product-page.png")
7driver.quit()
8
9

此方法大大减少了 CAPTCHA 提示的频率,确保更顺畅的自动化。

2. 使用 AI 解决 CAPTCHA

与现代先进的 CAPTCHA 系统相比,Amazon CAPTCHA 相对简单,这使得 AI 能够高效地解决这些问题。该过程包括:

  1. 截取 CAPTCHA 挑战的屏幕截图。

  2. 将图像发送到基于 AI 的 OCR 模型进行文本提取。

  3. 使用提取的文本自动完成验证码字段。

示例:使用 OpenAI 的 GPT 模型进行 CAPTCHA 验证

python Copy
1导入 os、time、base64
2从 openai 导入 OpenAI
3从 selenium 导入 webdriver
4从 selenium.webdriver.common.by 导入 By
5从 selenium.webdriver.common.keys 导入 Keys
6
7def encode_image(image_path):
8with open(image_path, "rb") as image_file:
9return base64.b64encode(image_file.read()).decode("utf-8")
10
11def resolve_amazon_captcha(driver):
12client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
13captcha_elements = driver.find_elements(By.CSS_SELECTOR, ".a-span12")
14
15if captcha_elements:
16driver.save_screenshot("captcha.png")
17base64_image = encode_image("captcha.png")
18response = client.chat.completions.create(
19model="gpt-4o-mini",
20messages=[ {"role": "user", "content": [ {"type": "text", "text": "从此验证码中提取文本。"},{"type": "image_url", "image_url": {"url": f"data:image/png;base64,{base64_image}"}}]}
21],
22)
23captcha_text = response.choices[0].message.content.strip()
24captcha_elements[0].send_keys(captcha_text, Keys.ENTER)
25time.sleep(5)
26
27

这种人工智能驱动的方法可以自动化验证码的解析,在保持效率的同时减少人工干预。

3. 使用验证码 (CAPTCHA) 解决服务

为了获得更可靠、更可扩展的方法,集成第三方验证码 (CAPTCHA) 解决服务是最佳解决方案。这些服务使用自动求解器或人工工作者实时处理验证码挑战。

热门验证码 (CAPTCHA) 解决服务:

  • 2Captcha – 提供人工辅助验证码 (CAPTCHA) 解决服务。

  • Anti-Captcha – 使用人工智能 (AI) 和人工求解器快速解决问题。

  • CapMonster – 全自动验证码 (CAPTCHA) 解决服务。

将这些服务与隐形浏览器结合使用,可在效率和准确性之间实现最佳平衡。

保持会话持久性可以使请求看起来更像回访用户,从而降低遇到验证码的几率。

如何实现

  • 使用 Python 中的 request.Session() 管理 Cookie 和标头。

  • 使用 Playwright 的 storageState 持久化身份验证数据。

示例

python Copy
1from request import Session
2
3session = Session()
4session.get("https://www.amazon.com") # 存储 Cookie
5response = session.get("https://www.amazon.com/gp/bestsellers")
6print(response.text) # 预期更少的验证码提示
7
8

5. 使用 MoMoProxy 规避验证码

规避验证码不仅仅需要隐身技术;还需要强大的代理解决方案。 MoMoProxy 是一款高效的代理服务器,通过以下方式提升网页抓取成功率:

  • 80 亿个全球住宅 IP – 模拟真实用户行为,规避检测。

  • 轮换代理 – 自动切换 IP 以分配请求。

  • 高速连接 – 确保无缝自动化,无延迟。

  • 支持多种设备 – 适用于 Windows、iOS、Android 和 Linux。

  • 99.64% 的请求成功率 – 降低拦截风险。

  • 支持所有用例 – 可与反检测浏览器、抓取工具和自动化工具配合使用。

示例:将 MoMoProxy 与 Requests 集成

python Copy
1proxies = {
2"http": "http://username:[email protected]:port",
3"https": "https://username:[email protected]:port"
4}
5response = session.get("https://www.amazon.com", proxies=proxies)
6print(response.text)
7
8

通过将 MoMoProxy 与上述 CAPTCHA 绕过策略集成,您可以显著提高抓取操作的效率和成功率。

结论

绕过 Amazon CAPTCHA 需要将隐身浏览、AI 驱动的识别、会话持久性、类人交互以及第三方 CAPTCHA 解析服务进行战略性组合。将这些技术与 MoMoProxy 的高级代理解决方案结合使用,可确保数据提取顺畅无阻。采用这些最佳实践将提高您的抓取效率,同时最大限度地减少与 CAPTCHA 相关的中断。

Consent Preferences