首页 > 其他分享 >爬虫突破验证码技巧 - 2Captcha

爬虫突破验证码技巧 - 2Captcha

时间:2023-07-14 13:13:17浏览次数:49  
标签:reCAPTCHA 爬虫 2.99 验证码 2captcha 费率 2Captcha

在互联网世界中,验证码作为一种防止机器人访问的工具,是爬虫最常遇到的阻碍。验证码的类型众多,从简单的数字、字母验证码,到复杂的图像识别验证码,再到更为高级的交互式验证码,每一种都有其独特的识别方法和应对策略。在这篇文章中,我们将一一介绍各种验证码的工作原理和使用2Captcha进行破解的策略。

验证码简介

验证码(CAPTCHA),全称为"Completely Automated Public Turing test to tell Computers and Humans Apart",是一种区分用户是计算机还是人的公共全自动程序。最初,验证码主要是一些混杂字母和数字的图片,但随着技术的发展,出现了更多种类的验证码,例如reCAPTCHA、GeeTest拼图验证码、hCaptcha、KeyCaptcha等。

1. Normal CAPTCHA

Normal CAPTCHA是一种常见的验证码类型,它包含字母和数字的图片进行扭曲和变形。

2. 清晰文字问题的验证码

清晰文字问题的验证码主要是对问题的理解和答案的回答,比如“What is the capital of China?”,回答应该是“Beijing”。

3. 旋转物体的验证码

这种验证码要求用户旋转一个3D物体到正确的方向。

4. reCAPTCHA V2

reCAPTCHA V2是Google开发的验证码系统,要求用户选择一组与给定主题相关的图像。

5. GeeTest拼图验证码

GeeTest验证码是一种常见的滑动拼图验证码,用户需要将一个不完整的图像拼凑完整

6. hCaptcha

hCaptcha是一种验证人类的验证码,要求用户选择与给定主题相关的答案。

7. KeyCaptcha

KeyCaptcha是一种交互式验证码,需要用户进行一些操作,比如拖动一个物体到指定位置。

8. Capy拼图验证码

Capy是另一种拼图验证码,它将一个图像切分成多个小块,需要用户通过拖动小块拼凑成完整的图像。

9. Grid法验证码

Grid法验证码是一种基于网格的图像识别验证码,要求用户识别网格中的特定对象或图案。

10. Canvas验证码

Canvas验证码是一种在HTML5 canvas元素中绘制的验证码,它可以是文本,也可以是图像。

11. ClickCaptcha

ClickCaptcha会返回验证码图片的点坐标,用户需要根据这些坐标点击正确的位置。

2Captcha 自动验证码识别介绍

https://2captcha.com/zh/

2Captcha是一个自动验证码识别服务商,支持上述所有的验证码类型,识别效果目前最好。 (https://2captcha.com/zh/)

2Captcha服务介绍:

2Captcha支持的所有验证码类型

验证码类型 每 1000 人的费率 描述
Normal Captcha, Text Captcha 0.5−1 费率是灵活的,取决于服务的当前负载。 您可以在帐户设置中查看当前速率和限制最大速率。
reCAPTCHA V2 $2.99 该费率适用于通过令牌解决的 Google 的 reCAPTCHA V2。
reCAPTCHA V3 1.45,2.99 score <= 0.3, score > 0.3
reCAPTCHA Enterprise $2.99 该费率适用于 Google 的 reCAPTCHA Enterprise。
Geetest $2.99 该费率适用于 Geetest 验证码。
Grid Method, Coordinates $1.20 该费率适用于您需要单击图像的任何验证码。
RotateCaptcha $0.50 该费率适用于您需要旋转图像的任何验证码。
Arkose Labs FunCaptcha Token Method $2.99 该费率适用于通过令牌解决的 Arkose Labs FunCaptcha。
KeyCaptcha $2.99 该费率适用于 KeyCaptcha。
hCaptcha $2.99 该费率适用于 hCaptcha。
Capy $2.99 该费率适用于 Capy。
TikTok $2.99 该费率适用于 TikTok captcha。

官网链接

https://2captcha.com/zh/

Python集成

官网提供了众多的代码脚本 https://2captcha.com/zh/for-customer

以reCAPTCHA V2示例

pip3 install 2captcha-python

代码GitHub链接:https://github.com/2captcha/2captcha-python

import sys
import os

sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))

from twocaptcha import TwoCaptcha

api_key = os.getenv('APIKEY_2CAPTCHA', 'YOUR_API_KEY')

solver = TwoCaptcha(api_key)

try:
    result = solver.recaptcha(
        sitekey='6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u',
        url='https://2captcha.com/demo/recaptcha-v2')

except Exception as e:
    sys.exit(e)

else:
    sys.exit('solved: ' + str(result))

总结

验证码的难度随着技术发展越来越高,2Captcha服务可以有效帮助爬虫绕过验证码限制,开发集成简单,推荐使用。

标签:reCAPTCHA,爬虫,2.99,验证码,2captcha,费率,2Captcha
From: https://www.cnblogs.com/xfuture/p/17552576.html

相关文章

  • 页面图片验证码显示(base64图片显示)
     前端在做登陆的时候经常会遇见输入验证码登陆的问题,一般情况下,后端返回的类似一个流图片,在页面中给图片赋值是不能显示的,想下面这种形式 这样的形式通常需要前端处理一下这个流,转成base64的形式,进行显示,代码如下:asyncgetInterfaceCode(){letres=awaitg......
  • 深入了解爬虫原理
    HTTP/1.1方法 HTTP1.0中,只有GET和POST,没有其他方法,如果是新网站是可以获取内容head命令只能返回头部部分,类似于Ping测试网址是否连通put只能上传最新的内容,patch局部修改主要是get和PostHTTPS多实现一层S,五层中,最上面是应用层,然后是多出来的安全层SSL,然后是传输层,网络层,网......
  • 爬虫—图形验证码获取
    获取验证码图片步骤1.使用selenium操作谷歌浏览器,打开目标网站2.对目标网站进行截图,并将图片保存到本地3.获取验证码元素节点在屏幕上的位置,即横纵坐标4.使用Image库读取保存的截图5.使用pillow模块抠出大图中的验证码只截取元素节点位置对应部分导入所需库和打开目标......
  • 通过百度云获得图片验证码
    #!/usr/bin/envpython#-*-coding:utf-8-*-#@Time:2022/05/1610:21#@Author:Hero#@File:VerCodeFromBaidu.py#@Sofeware:PyCharm'''通过百度云获得图片验证码'''importosfromaipimportAipOcrclassgetwords():def__ini......
  • 了解网络爬虫
    理解网络爬虫1.1网络爬虫的定义当今最大的网络是互联网,最大的爬虫就是各类搜索引擎,包括谷歌丶百度等。网络爬虫就是按照一定规则去爬去人类所需要的信息的程序,主要通过对URL的请求来实现。一般来说,从搜索引擎这类爬虫搜索到的信息是非常宽泛的,而且夹杂着各种广告,信息是不纯粹的,......
  • 爬虫学习02 requests高级用法
    1requests高级用法1.0自动携带cookie的session对象#session对象----》已经模拟登录上了一些网站---》单独把cookie取出来-res.cookies是cookiejar对象,里面有get_dict()方法转换成字典-转成字典res.cookies.get_dict()#使用session发送请求,cookie自动携带sess......
  • 爬虫学习01
    1扫码登录功能#前端1前端进入扫码登录页面---》向后端发送请求----》后端生成二维码图片---》显示在前端,暂存key2掏出手机,打开对应的app-----》扫描二维码----》app端提示是否登录---》当你点登录---》app能解析出这个地址----》取出你当前app登录的token----》向这个......
  • 滑动验证码-移动滑块
    滑动验证码-移动滑块思路:获取滑块建立动作根据滑动的速度滑动fromselenium.webdriver.chrome.serviceimportServicefromselenium.webdriver.support.uiimportWebDriverWaitfromselenium.webdriver.supportimportexpected_conditionsasECfromseleniumimport......
  • 滑动验证码-编辑移动轨迹
    滑动验证码-编辑移动轨迹思路:建立每次移动的距离,使用时,移动获取距离拖动滑块儿即可。提示滑动的距离不能随意设置,需要复合人类行为。推荐参考,高中物理了解过的知识:均变速直线运动的速度与时间关系的公式:V=V0+at均变速直线运动的位移与时间关系的公式:x=v0t+½at²'''1、......
  • 滑动验证码-获取滑动长度
    滑动验证码-获取滑动长度思路:为了更快精准的找出滑动的距离,因此可以给图片做适当的处理灰度化。所谓灰度,就是图像没有色彩。举个例子,原本的彩色图片是有RGB三种颜色组成的(也就是每个像素点由三个值),现在给图像灰度化,每个像素点只有一个值(0-255)表示颜色的深度为了方......