///
解决reCAPTCHA:网络爬虫的全面指南
CapMonster Cloud 团队
CapMonster Cloud 团队
自动化专家
September 25, 2024
3 分钟

解决 reCAPTCHA V2:面向网页爬虫的完整指南 

 

 

 

本文详细介绍了如何解决 reCAPTCHA,特别是针对 reCAPTCHA v2 的相关内容。reCAPTCHA 是一种 CAPTCHA(全自动区分计算机和人类的公共图灵测试系统),旨在确保只有真实用户而非机器人或自动化软件才能访问网站。它主要用于保护网站上的表单、登录以及其他服务。本指南概述了多种策略,包括 reCAPTCHA 解决方法以及 reCAPTCHA v2 求解器。 

robots
立即开始自动化您的工作流 reCAPTCHA v2

什么是 reCAPTCHA?

reCAPTCHA 是由 Google 开发的一种工具,用于识别网站访问者是真人还是机器人。它是一种网站安全产品(反机器人工具),能够帮助网站防御垃圾信息、DDoS 攻击以及其他与自动化机器人相关的威胁。验证码识别服务则可用于在合法范围内自动化这一流程。 

reCAPTCHA 的工作原理是要求用户完成某些任务,例如在一组图片中识别特定对象,或解答某些问题,以证明其为真人用户。这些挑战对于人类来说通常很容易完成,但对于机器人程序而言则非常困难。 

none provided

了解不同类型的 reCAPTCHA 之间的区别

reCAPTCHA v2 Checkbox 

这是网络上最基础、最常见的一种 CAPTCHA 形式。为了确认用户不是机器人,系统会要求用户点击一个复选框。随后,Google 会分析用户的行为,以判断该操作是真实用户行为还是自动化行为。 

reCAPTCHA v2 Invisible 

顾名思义,这种 CAPTCHA 对用户来说是不可见的。Google 会利用多种算法来检测人类行为,并自动验证用户活动。reCAPTCHA v2 Invisible 求解器可用于自动化这一流程。 

reCAPTCHA v3 

该版本同样是不可见的,并为用户提供更少干扰的使用体验。它会分析用户在网站上的行为,并生成一个评分,用于判断该用户是否可能为机器人。网站管理员可以设置阈值,以识别可疑活动。 

reCAPTCHA Enterprise 

这是专为企业客户设计的高级版本。它提供了更强大的工具,用于分析和管理网站上的机器人活动。 

为什么您可能需要使用 reCAPTCHA 求解器

如果您正在开发网页爬虫,那么当目标网站启用了 reCAPTCHA 来阻止自动化流量时,您很可能会遇到它。reCAPTCHA 对爬虫来说是一个挑战,因为它专门用于识别并拦截机器人程序。因此,在使用网页爬虫时,您可能会不断遇到 reCAPTCHA 验证,这会减慢甚至中断您的抓取过程。为了解决这一问题,您可以考虑使用 reCAPTCHA 求解器。 

reCAPTCHA 求解器的作用是什么?

reCAPTCHA 求解器是一种工具或服务,用于为 reCAPTCHA 验证挑战提供人工解决方案。与自动化方法不同,求解器通常依赖真实用户来完成验证码并返回结果。这些解决方案通常由自由职业者提供,例如 Fiverr 或 Freelancer 等平台上的工作人员,或者由专门提供 CAPTCHA 识别服务的公司完成。 

reCAPTCHA 的目的是保护网站免受滥用。然而,对于用户来说,它有时可能令人沮丧或耗时。以下是一些解决 reCAPTCHA 的合法方法:

  • 使用基于 API 的 CAPTCHA 解决服务 :第三方服务提供 API,使开发者可以与 reCAPTCHA 进行交互。这些服务使用先进算法来解决 CAPTCHA 挑战,通常需要订阅。需要 API 密钥进行身份验证。 

  • 使用浏览器扩展 :一些扩展通过光学字符识别(OCR)和机器学习技术自动解决 reCAPTCHA。 

  • 使用自动化脚本 :开发者可以编写脚本或软件来自动化 CAPTCHA 解决过程。但这需要扎实的编程和网页自动化知识。请注意,在未授权的情况下使用自动脚本解决 reCAPTCHA 违反网站服务条款。 

  • 禁用 JavaScript :由于 reCAPTCHA 高度依赖 JavaScript,禁用它可能会阻止 CAPTCHA 加载。但这种方法也可能导致网站功能异常。 

选择 reCAPTCHA 求解器时的重要考虑因素

在选择 reCAPTCHA 求解器时,需要重点考虑多个关键因素,以确保您获得可靠且高效的服务。 

  • 地理位置:选择距离目标网站所在地区较近的求解服务可能会更有优势。由于 reCAPTCHA 会根据请求来源地区进行调整,本地化的求解器通常能够更准确地完成验证,尤其是在目标网站位于您所在国家时。 

  • 价格:求解服务的费用差异可能很大,从每次验证码几美分到更高价格不等。重要的是在项目预算范围内,找到既能提供准确结果又能及时响应的服务。 

  • 质量:并非所有求解器的效果都相同。有些服务提供商由于拥有更高质量的人工团队或更先进的技术,因此具有更高的识别准确率。通常情况下,更高质量的解决方案也意味着更高的成本。 

  • 可用性:求解服务的可用性同样需要考虑,特别是当您计划长期、频繁运行爬虫时。有些求解服务可能有使用人数限制,或者仅在特定时间段提供服务,这可能会影响您的抓取计划。 

如何使用 CapMonster Cloud 解决 reCAPTCHA v2

CapMonster Cloud 允许你绕过基于大多数现有技术的验证,reCAPTCHA v2 也不例外。

要绕过该保护,你只需要在代码中集成一个简单的 JSON 请求,并通过 POST 方法发送到 API 接口: https://api.capmonster.cloud/createTask。一般形式如下:

{
  "clientKey": "API_KEY",
  "task": {
    "type": "RecaptchaV2Task",
    "websiteURL": "https://your_site_with_recaptcha",
    "websiteKey": "your_website_key"
  }
}

 

请求必须包含以下参数: 

参数 类型 是否必填 说明
type <string> 任务类型。值:RecaptchaV2Task
websiteURL <string> 需要解决 CAPTCHA 的页面 URL。
websiteKey <string> 目标页面中的 reCAPTCHA sitekey。
示例:<div class="g-recaptcha" data-sitekey="THIS_ONE"></div>
recaptchaDataSValue <string> ReCaptcha2 中的附加 data-s 参数(如果存在)。
示例:data-s="THIS_ONE"
userAgent <string> 用于模拟的浏览器 User-Agent。建议使用现代浏览器标识。
cookies <string> 目标页面的附加 cookies。
格式:cookiename1=cookievalue1; cookiename2=cookievalue2
isInvisible <bool> 表示 CAPTCHA 是否为不可见版本(没有复选框)。
proxyType <string> 代理类型:
  • http — 普通 HTTP/HTTPS 代理
  • https — 某些自定义代理
  • socks4 — SOCKS4 代理
  • socks5 — SOCKS5 代理
proxyAddress <string> 代理 IP 地址(IPv4/IPv6)。不允许使用透明或本地代理。
proxyPort <integer> 代理服务器端口。
proxyLogin <string> 代理服务器用户名。
proxyPassword <string> 代理服务器密码。

响应示例: 

{
  "errorId": 0,
  "taskId": 7654321
}

或者,在发生错误的情况下: 

{
  "errorId": 1,
  "errorCode": "ERROR_KEY_DOES_NOT_EXIST",
  "errorDescription": "Account authorization key not found in the system or has incorrect format",
  "taskId": 0
}

详细说明: 

属性类型说明
errorIdInteger错误标识符。
0 — 没有错误,任务创建成功,任务 ID 已保存在 taskId 中。
1 — 发生错误,详细信息请查看 errorCode 字段。
errorCodeString错误代码。
taskIdInteger任务 ID,用于后续在 getTaskResult 方法中查询结果。

获取 reCAPTCHA 解决方案:  

使用你的 CapMonster Cloud API 密钥和任务 ID 发送请求:  

POST 请求https://api.capmonster.cloud/getTaskResult 

 


{
  "clientKey":"API_KEY",
  "taskId": 407533072
}

响应示例


{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "gRecaptchaResponse": "3AHJ_VuvYIBNBW5yyv0zRYJ75VkOKvhKj9_xGBJKnQimF72rfoq3Iy-DyGHMwLAo6a3"
  }
}

查看我们用于轻松解决 reCAPTCHA 及其他 CAPTCHA 类型的工具与解决方案:  

注意 :请注意,该产品仅用于您自己网站或您拥有合法访问权限的网站的自动化测试。  

ItGuy
geear
面向软件开发者的联盟计划
通过用户识别验证码的消费获取高达 30% 的返佣。
✅ 请求已发送
感谢您对我们的合作伙伴计划感兴趣!我们将在 7 个工作日内与您联系。
请求加入
填写表格以提交申请加入合作伙伴计划。
更多文章