如何使用 Python 绕过 CAPTCHA

探索使用 Python 绕过 CAPTCHA 的顶级技术和最佳工具,并学习如何自动化 CAPTCHA 解决方案。
2 分钟阅读
如何使用Python绕过CAPTCHA

在本教程中,您将了解:

  • 什么是 CAPTCHA
  • 是否可以在 Python 中自动化 CAPTCHA
  • 在评估 Python CAPTCHA 绕过解决方案时需要注意什么
  • 绕过 CAPTCHA 的五大 Python 技术
  • 最好的 Python CAPTCHA 解码器

让我们深入探讨吧!

CAPTCHA:定义与类型

CAPTCHA(“完全自动化的公共图灵测试以区分计算机和人类”)是一种嵌入网页、应用程序或软件中的挑战,用于区分人类用户和机器人。它通常涉及一些对人类来说容易解决但对自动化软件来说困难的任务。

CAPTCHA 的目标是防止自动化系统访问或与网站或服务进行交互。随着 AI 和神经网络的最新进展,保持 CAPTCHA 的有效性变得越来越困难,这使得反机器人挑战更加复杂。

现在,让我们来探索目前使用最广泛的 CAPTCHA 类型。

文字 CAPTCHA

基于文字的 CAPTCHA 是最传统的 CAPTCHA 形式。它们展示一串扭曲的字符和数字,用户必须正确识别并输入。自动化机器人面临的挑战是它们通常难以识别扭曲或模糊的文本。

这种类型的 CAPTCHA 现在对于机器人来说更容易解决,因而变得不再流行。

图片 CAPTCHA

基于图片的 CAPTCHA 要求用户在一系列图片中识别特定的物体或图案。大多数情况下,用户会看到一个图片网格,并且必须点击所有包含特定物体的图片,如交通灯、自行车、巴士或摩托车。

这类 CAPTCHA 的一个著名提供商是reCAPTCHA

声音 CAPTCHA

基于声音的 CAPTCHA 通常是为那些在视觉 CAPTCHA 上有困难的用户提供的无障碍选项。这些 CAPTCHA 提供一段扭曲语音的音频片段,用户必须正确听写。

拼图 CAPTCHA

拼图 CAPTCHA 要求用户完成一个简单的拼图来证明他们是人类。这些拼图可以是拼图拼接或基于逻辑的挑战。例如,用户可能需要将图片拖动到正确的位置或在视觉路径的末端放置一个点。

拼图 CAPTCHA 示例
拼图 CAPTCHA 示例

这些创意 CAPTCHA 的著名提供商包括AWS WAF CAPTCHAhCaptcha

可以使用 Python 自动化 CAPTCHA 吗?

CAPTCHA 专为难以自动化而设计,没有一种简单的解决方案可以在 Python 中解决它们。然而,您可以尝试通过以下两种方法之一或两者结合来自动化它们:

  • 避免 CAPTCHA:在受控浏览器中模仿人类行为,使用真实世界的指纹,以避免引起反机器人系统的注意,降低 CAPTCHA 出现的可能性。
  • 依赖 CAPTCHA 解决服务:将 CAPTCHA 的处理外包给使用 AI、高级自动化工具和/或人工工人的高级在线服务来解决 CAPTCHA 挑战。

您需要什么工具来执行这两种方法?一个 Python CAPTCHA 解码器和/或绕过解决方案!

评估 CAPTCHA 绕过 Python 解决方案时的考虑因素

以下是比较市场上最佳 CAPTCHA 绕过 Python 服务时要检查的主要要素:

  • 功能:解决方案提供的功能和特性。
  • 性质:工具是开源的还是高级的。
  • 正常运行时间:提供商保证的可用性百分比。
  • 成功率:解决 CAPTCHA 挑战的能力,以百分比表示。
  • CAPTCHA 绕过策略:解决方案是避免 CAPTCHA、解决它们还是两者兼而有之。
  • 支持的 CAPTCHA 提供商:服务能够处理的所有 CAPTCHA 提供商列表。
  • Trustpilot 评分:用户在 Trustpilot 上留下的评论的平均评分。
  • 价格:Python CAPTCHA 解码器的成本。

Python 中的 CAPTCHA 绕过:五大方法

现在是时候探讨根据上述标准选择和排名的绕过 Python CAPTCHA 的五大解决方案了!

1. Web Unlocker 的 CAPTCHA 解码器

Bright Data 的 CAPTCHA 解码器页面

CAPTCHA 解码器是 Bright Data 的一项解决方案,可以无缝绕过来自多家提供商的 CAPTCHA。该工具模仿人类行为和浏览器指纹,以规避 CAPTCHA,并利用 AI 驱动的算法来解决它们。

CAPTCHA 解码器是 Web Unlocker 的一部分,Web Unlocker 是一个一体化的网页解锁 API,提供以下功能:

  • IP 轮换:动态更改 IP 地址以避免检测和封锁。
  • 自动重试:通过多次重试请求确保成功的结果。
  • JavaScript 渲染:处理使用 JavaScript 的动态站点以提取数据。
  • 全球覆盖:从任何地理位置访问本地化内容。
  • 高可扩展性:支持大规模数据抓取。
  • 推荐人头信息:通过设置真实世界的推荐人头信息来模拟来自可信站点的流量。
  • Cookie 处理:管理 Cookie,以防止因与 Cookie 相关的因素导致的封锁。

作为 API,带有 CAPTCHA 解码器的 Web Unlocker 可以从任何编程语言中的浏览器自动化或 HTTP 客户端访问。了解如何使用 Web Unlocker 绕过 CAPTCHA

这些功能使 CAPTCHA 解码器成为在 Python 中绕过 CAPTCHA 的最佳解决方案。您可以免费试用或购买可用计划之一,起价为每千次调用 3 美元(每次 API 调用 0.003 美元)。请注意,您只需为成功的请求付费,成功率接近 100%。

借助这些解决方案,Bright Data 确保了高效且符合伦理的数据抓取实践,无中断或限制。

  • 功能:CAPTCHA 解码、反机器人绕过、浏览器指纹管理、通过代理集成进行 IP 轮换、自动请求重试、自动用户代理轮换、Cookie 处理、自动设置推荐人头信息、全球地理覆盖、JavaScript 渲染、数据完整性验证等。
  • 性质:高级云网页解锁 API,可与任何 HTTP 客户端和任何编程语言集成。
  • 正常运行时间:99.9%
  • 成功率:99.9%
  • CAPTCHA 绕过策略:通过用户模拟和指纹管理来避免 CAPTCHA + 解码 CAPTCHA。
  • 支持的 CAPTCHA 提供商:reCAPTCHA、Click Captcha、hCaptcha、PerimeterX、SimpleCaptcha、FunCaptcha、Cloudflare Turnstile、AWS WAF Captcha、GeeTest CAPTCHA、KeyCAPTCHA、Puzzle Captcha、Yandex Captcha、Image Captcha、Text Captcha 等。
  • Trustpilot 评分:4.5/5
  • 价格:提供免费试用,之后每千次调用 3 美元。

2. Playwright Extra 与 Stealth 插件

Playwright stealth 插件

Playwright Extra 是 Playwright 的一个特殊版本—这个流行的浏览器自动化和网络抓取工具—支持插件。具体而言,playwright-stealth是一个针对 Playwright Extra 的 Python 插件,旨在使自动化浏览器在反机器人机制面前不易检测到。

Puppeteer Extra Stealth 插件的启发,Playwright Stealth 会覆盖一些浏览器配置,使其看起来更真实。最终目标是避免 CAPTCHA 和其他反机器人措施。查看我们的指南如何使用 Playwright Stealth 避免机器人检测

阅读我们的教程如何使用 Playwright 绕过 CAPTCHA

  • 功能:完整的浏览器自动化 API、支持 JavaScript 和 Python、反机器人绕过、端到端测试 API、插件支持、调试能力等。
  • 性质:开源
  • 正常运行时间:不适用
  • 成功率:未知
  • CAPTCHA 绕过策略:通过用户模拟和真实世界的指纹设置来避免 CAPTCHA。
  • 支持的 CAPTCHA 提供商:基本的反机器人 CAPTCHA。
  • Trustpilot 评分:不适用
  • 价格:免费

3. AntiCaptcha

AntiCaptcha 服务的图片

AntiCaptcha 是一个知名的 CAPTCHA 绕过服务,自 2007 年以来一直运营。它提供广泛的 CAPTCHA 解决服务,所有这些都可以通过网络端点访问。提供商提供了一个强大的 API,无缝的浏览器插件集成,并支持自动化工具如 Selenium 和 Puppeteer。

所有 CAPTCHA 都由人工工人解决,并通过官方库在多种编程语言中提供集成。具体而言,python-anticaptcha是 AntiCaptcha 的 Python 解决方案。请注意,该库的最后发布是在 2022 年,没有免费试用,成功率未公开。

  • 功能:CAPTCHA 解决、用于自动解决 CAPTCHA 的浏览器插件、用于获取有用统计数据和报告的 API。
  • 性质:针对 PHP、Python、Java、C#、JavaScript、Go、Ruby 的高级 CAPTCHA 绕过 API。
  • 正常运行时间:99.99%
  • 成功率:未公开
  • CAPTCHA 绕过策略:通过人工工人解决 CAPTCHA。
  • 支持的 CAPTCHA 提供商:通用图像 CAPTCHA、reCAPTCHA v2、reCAPTCHA v3、reCAPTCHA Enterprise v2/v3、hCaptcha、GeeTest、Arkose Labs、Cloudflare Turnstile。
  • Trustpilot 评分:4.8/5
  • 价格:从 $0.50/千次调用到 $2/千次调用不等。

4. Selenium 与 Stealth 库

Selenium stealth 库

Selenium 是一个功能强大的浏览器自动化工具,广泛用于测试和网络抓取。它提供了一个一致且完整的 API 来自动化浏览器并模拟用户行为。然而,由于其配置浏览器的方式,Selenium 常常会被反机器人技术检测到。

selenium-stealth是一个专门为使 Selenium 更加隐秘而设计的 Python 包。该库配置 Chrome 以避免大多数检测,从而在多个自动化任务中实现更顺畅的自动化和更高的成功率。Selenium Stealth 的一个常见用例是在 Python 中绕过 CAPTCHA。

了解更多信息,请参阅我们的教程如何使用 Selenium 在 Python 中绕过 CAPTCHA

  • 功能:完整的浏览器自动化 API、反机器人绕过、端到端测试 API 等。
  • 性质:开源
  • 正常运行时间:不适用
  • 成功率:未知
  • CAPTCHA 绕过策略:通过用户模拟和真实世界的指纹设置来避免 CAPTCHA。
  • 支持的 CAPTCHA 提供商:基本的反机器人 CAPTCHA。
  • Trustpilot 评分:不适用
  • 价格:免费

5. 2Captcha

2Captcha 服务的图片

2Captcha 是一种基于人工的 CAPTCHA 解决服务,旨在自动化 CAPTCHA 绕过过程。它支持广泛的挑战,并通过将 CAPTCHA 分配给人工工人来实时解决它们。

2Captcha 提供 API 集成,并为各种编程语言提供官方库。特别是,2Captcha 的 Python CAPTCHA 绕过包是2captcha-python

请注意,提供商不提供任何免费测试或试用期。因此,如果您确实想测试其服务,您必须至少充值 1 美元。此外,在 Trustpilot 上有一些令人担忧的评论,成功率和正常运行时间也未公开。

  • 功能:CAPTCHA 解决。
  • 性质:针对 Python、PHP、Java、C++、C#、Go、Ruby 的高级 CAPTCHA 绕过 API。
  • 正常运行时间:未公开。
  • 成功率:未公开。
  • CAPTCHA 绕过策略:通过人工工人解决 CAPTCHA。
  • 支持的 CAPTCHA 提供商:通用 CAPTCHA、通用文字 CAPTCHA、通用点击 CAPTCHA、通用旋转 CAPTCHA、reCAPTCHA V2 回调、KeyCAPTCHA、reCAPTCHA V2 隐形、Capy Puzzle CAPTCHA、Cloudflare Turnstile、亚马逊 CAPTCHA、音频 CAPTCHA、MTCaptcha、DataDome CAPTCHA、CyberSiARA CAPTCHA、Cutcaptcha、Friendly CAPTCHA、俄文 CAPTCHA、中文 CAPTCHA、数字 CAPTCHA、数学 CAPTCHA、滑块 CAPTCHA、腾讯验证码、atbCAPTCHA。
  • Trustpilot 评分:4.0/5。
  • 价格:从 $0.50/千次调用到 $50/千次调用不等。

最佳 Python CAPTCHA 解码器

下表总结了顶级 Python CAPTCHA 解码器解决方案的功能:

服务 功能 编程语言 正常运行时间 成功率 CAPTCHA 避免 CAPTCHA 解决 评论评分 免费试用 价格
Bright Data CAPTCHA 解码器 丰富 任意 99.9% 99.9% ✔️ ✔️ 4.5/5 ✔️ $3/千次调用
Playwright Stealth Python, JavaScript 未知 ✔️ 免费
AntiCaptcha Python, PHP, Java, C#, JavaScript, Go, Ruby 99.99% 未公开 ✔️ 4.8/5 $0.50/千次调用—$2/千次调用
Selenium Stealth Python 未知 ✔️ 免费
2Captcha 几乎没有 Python, PHP, Java, C++, C#, Go, Ruby 未公开 未公开 ✔️ 4.0/5 $0.50/千次调用—$50/千次调用

结论

在本文中,您了解了为什么 CAPTCHA 对自动化软件构成挑战,并探索了在 Python 中自动化 CAPTCHA 是否可行。您还发现了最佳 Python CAPTCHA 解码器解决方案的列表。

正如本文所强调的那样,Web Unlocker作为获取无 CAPTCHA 的网页 HTML 的最佳解锁 API 脱颖而出。这个抓取 API 处理浏览器指纹,提供自动重试,并集成代理以在每次请求时轮换退出 IP,还为您处理 CAPTCHA 解决。使用 Python 自动化 CAPTCHA 从未如此简单!

想要完全跳过这些麻烦?查看数据集市场并下载免费样本。立即注册并开始您的免费试用。

支持支付宝等多种支付方式