三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

使用 Python 绕过 CAPTCHA

使用 Python 绕过 CAPTCHA


本指南将介绍在 Python 中绕过 CAPTCHA 的顶级技术与最佳工具:

  • CAPTCHA:定义与类型
    • 文本型 CAPTCHA
    • 图片型 CAPTCHA
    • 音频型 CAPTCHA
    • 拼图型 CAPTCHA
  • 是否可以使用 Python 自动化 CAPTCHA?
  • 评估 Python 的 CAPTCHA 绕过方案
  • Python 中绕过 CAPTCHA:前 5 种方法
    • 1. Web Unlocker 的 CAPTCHA Solver
    • 2. 搭配 Stealth 插件的 Playwright Extra
    • 3. AntiCaptcha
    • 4. 使用 Stealth 库的 Selenium
    • 5. 2Captcha
  • 最佳 Python CAPTCHA 解决方案

CAPTCHA:定义与类型

CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart)是一种用于区分人类用户与机器人的挑战。它要求执行对人类容易、对自动化软件困难的任务。

随着 AI 的发展,CAPTCHA 为保持有效性变得越来越复杂。

下面是当下最常见的 CAPTCHA 类型。

文本型 CAPTCHA

文本型 CAPTCHA 会展示一串扭曲的字母与数字,用户需识别并输入。虽然曾被广泛使用,但机器人对其的识别能力越来越强,因此其流行度有所下降。

图片型 CAPTCHA

图片型 CAPTCHA 要求用户在图片网格中选择特定对象,例如红绿灯、自行车或公交车。此类 CAPTCHA 的知名提供商是 reCAPTCHA。

音频型 CAPTCHA

音频型 CAPTCHA 为视障用户提供可访问性选项。它提供一段失真的语音音频,用户需正确转写。

拼图型 CAPTCHA

拼图型 CAPTCHA 要求用户完成简单任务,例如将图片拖拽到正确位置或解答简单逻辑题。

常见提供商包括 AWS WAF CAPTCHA 与 hCaptcha。

是否可以使用 Python 自动化 CAPTCHA?

CAPTCHA 天生就是让自动化变得困难,Python 中并不存在“一步到位”的简单方案。但可以从两条路径入手:

  • 避免触发 CAPTCHA:在受控浏览器中模拟人类行为,使用更接近真实用户的指纹,从而降低触发 CAPTCHA 的概率。
  • 使用解题服务:借助使用 AI、自动化工具或人工求解的付费服务自动解决 CAPTCHA。

要实现上述方法,您需要合适的 Python CAPTCHA 解决或绕过方案。

评估 Python 的 CAPTCHA 绕过方案

在比较市面上主流的 Python CAPTCHA 绕过/解决服务时,建议关注以下要素:

  • 能力范围:方案提供的功能与特性
  • 工具性质:开源或商用
  • 稳定性(Uptime):服务可用性保证
  • 成功率:解决 CAPTCHA 的成功比例
  • 绕过策略:是避免触发、直接解题,或两者兼有
  • 支持的提供商:可处理的 CAPTCHA 提供商列表
  • Trustpilot 评分:用户评价的平均分
  • 定价:Python CAPTCHA 方案的费用

Python 中绕过 CAPTCHA:前 5 种方法

下面基于上述标准,筛选并排序了 5 个在 Python 中绕过 CAPTCHA 的顶级方案。

1. Web Unlocker 的 CAPTCHA Solver

CAPTCHA Solver 是 Bright Data 推出的强大工具,可绕过多家提供商的 CAPTCHA。它通过模拟人类行为与浏览器指纹,并使用 AI 算法来解决挑战。

功能特性:

  • IP 轮换:动态更换 IP 以避免检测
  • 自动重试:通过自动重试确保请求成功
  • JavaScript 渲染:处理需要执行 JS 的动态站点
  • 全球覆盖:访问全球各地的本地化内容
  • 高可扩展性:可处理大规模数据抓取
  • 引荐来源头(Referrer):模拟来自可信站点的流量
  • Cookie 处理:通过管理 Cookie 预防封锁

作为 Web Unlocker 的一部分,CAPTCHA Solver 可与任意 HTTP 客户端或浏览器自动化工具配合使用(支持 Python 与其他编程语言)。选择它的理由包括:

  • 99% 成功率:可靠的 CAPTCHA 绕过能力,接近满分的准确度
  • 支持多种 CAPTCHA 类型:reCAPTCHA、hCaptcha、FunCaptcha、Cloudflare Turnstile、AWS WAF CAPTCHA 等
  • 灵活的 API 集成:兼容任意 HTTP 客户端
  • 透明定价:提供免费试用,之后 $3/CPM(每次请求 $0.003)

凭借 99.9% 的高可用性与先进的反封策略,Bright Data 能够保障合规、顺畅、不中断的网页抓取。

2. 搭配 Stealth 插件的 Playwright Extra

Playwright Extra 是对 Playwright 的增强版本,支持插件机制,从而实现更好的反检测能力。Python 版的 playwright-stealth 插件有助于让自动化浏览器更像真人使用,降低被 CAPTCHA 与反爬系统识别的概率。

该方案受 Puppeteer Extra Stealth 插件 启发,通过调整浏览器设置来模拟真实用户行为,帮助绕过 CAPTCHA 与机器人检测。可参考我们的教程:如何使用 Playwright Stealth 避免机器人检测。

分步教程可见:如何使用 Playwright 绕过 CAPTCHA。

关键特性:

  • 能力范围:完整的浏览器自动化、支持 JS 与 Python、反检测、E2E 测试、插件与调试工具
  • 工具性质:开源
  • 成功率:不定,取决于目标站点防护强度
  • 绕过策略:用户行为仿真与真实指纹
  • 支持的 CAPTCHA 类型:基础防爬类 CAPTCHA
  • 定价:免费

Playwright Extra + Stealth 是开源领域中强有力的 CAPTCHA 避免与浏览器自动化组合。

3. AntiCaptcha


AntiCaptcha 自 2007 年起提供基于 API 的 CAPTCHA 解题服务,并支持浏览器插件集成,兼容 Selenium、Puppeteer 等自动化工具。

其 CAPTCHA 由人工解题,准确度较高。Python 用户可通过 python-anticaptcha 集成,但该库最近一次更新在 2022 年。无免费试用,且未披露官方成功率。

关键特性:
  • 能力范围:API 解题、浏览器插件集成、详细报表
  • 工具性质:商用 API,支持 PHP、Python、Java、C#、JavaScript、Go、Ruby
  • 稳定性:99.99%
  • 成功率:未披露
  • 绕过策略:人工解题
  • 支持的 CAPTCHA 类型:图片 CAPTCHA、reCAPTCHA v2/v3、reCAPTCHA Enterprise、hCaptcha、GeeTest、Arkose Labs、Cloudflare Turnstile
  • Trustpilot 评分:4.8/5
  • 定价:$0.50/CPM — $2/CPM

对于需要人工介入的复杂挑战,AntiCaptcha 是值得信赖的选择。

4. 使用 Stealth 库的 Selenium

Selenium 是广泛使用的浏览器自动化工具,适用于测试与抓取。它提供强大的 API 来模拟人类交互。但由于默认配置较为明显,常被反爬系统识别。

为此可使用 selenium-stealth Python 包,优化 Chrome 设置以降低被检测概率,从而提升自动化成功率,尤其在涉及 CAPTCHA 的场景。

关键特性:

  • 能力范围:完整浏览器自动化、反检测、支持 E2E 测试
  • 工具性质:开源
  • 成功率:取决于站点检测手段
  • 绕过策略:用户仿真与真实指纹
  • 支持的 CAPTCHA 类型:基础防爬类 CAPTCHA
  • 定价:免费

Selenium Stealth 是在自动化交互时减少触发 CAPTCHA 的有效工具。

5. 2Captcha

2Captcha 通过将挑战分发给人工解题者来实时求解,支持多种 CAPTCHA 类型,并提供多语言官方库,Python 通过 2captcha-python 集成。

注意事项:

  • 无免费试用,测试需至少充值 $1
  • 在 Trustpilot 上存在部分负面评价
  • 未披露成功率与可用性

关键特性:

  • 能力范围:人工解题 API
  • 工具性质:面向 Python、PHP、Java、C++、C#、Go、Ruby 的付费 API
  • 成功率与稳定性:未披露
  • 绕过策略:人工解题
  • 支持的 CAPTCHA 类型:reCAPTCHA、Cloudflare Turnstile、Amazon CAPTCHA、数学 CAPTCHA、音频 CAPTCHA 等
  • Trustpilot 评分:4.0/5
  • 定价:$0.50/CPM — $50/CPM

2Captcha 被广泛使用,但在购买前应考虑其缺乏免费试用与口碑不一的问题。

最佳 Python CAPTCHA 解决方案

下表汇总了各主流 Python CAPTCHA 方案的核心差异:

服务功能特性支持语言稳定性成功率避免触发 CAPTCHA直接解题评价分数免费试用定价
Bright Data CAPTCHA Solver非常多任意99.9%99.9%✔️✔️4.5/5✔️$3/CPM
Playwright Stealth很多Python、JavaScript未知✔️免费
AntiCaptcha较少Python、PHP、Java、C#、JavaScript、Go、Ruby99.99%未披露✔️4.8/5$0.50/CPM — $2/CPM
Selenium Stealth很多Python未知✔️免费
2Captcha几乎没有Python、PHP、Java、C++、C#、Go、Ruby未披露未披露✔️4.0/5$0.50/CPM — $50/CPM

结论

正如本指南所示,Web Unlocker 是从任意网页获取无 CAPTCHA 的 HTML 的优秀解锁 API。该抓取 API 处理浏览器指纹、提供自动重试,并结合代理在每次请求时轮换出口 IP,同时为您解决 CAPTCHA。

立即注册,开启免费试用。

← 返回列表