2.1 图像验证码(英文验证码、超级鹰)

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情
  • 有些网站为了避免被过度访问,会设置验证码反爬机制,如果访问次数过多就要求用户输入验证码,甚至一开始访问就要求输入验证码。验证码的类型很多,本章会讲解其中常见的图像验证码、计算题验证码、滑块验证码、滑块拼图验证码、点选验证码。
  • 设置了验证码反爬机制的网站通常不希望被爬虫过度爬取,有的网站还会经常更换验证码类型,因此,本章主要使用专门搭建的本地网页(HTML文件)来讲解如何应对验证码反爬。

注意:本章介绍的方法仅针对单纯的验证码反爬。有些网站除了验证码反爬,还会采用其他反爬手段(如针对Selenium和webdriver拦截),此时本章介绍的方法就会失效。

  • 图像验证码是最常见的验证码类型,主要分为英文验证码和中文验证码。英文验证码的内容结合了英文字母和数字(见左下图),中文验证码的内容以简体汉字为主(见右下图)。
    在这里插入图片描述
  • 因为超级鹰的识别效果最好,且实战中应用最为有效,所以这里主要讲解使用的超级鹰识别验证码的方法。百度的文字识别接口则在2.1.3节的“补充知识点”中进行简单介绍。至于PyTesseract库,虽然免费,但是安装较为繁琐,而且识别效果很一般,所以本书不予讲解。

2.1.1 超级鹰平台注册

  • 超级鹰的官方网站为http://www.chaojiying.com/,可以在页面右上角进行注册。注册并登录后进入用户中心,按照页面右下角的提示扫码二维码绑定微信,可领域超级鹰送给用户的1000题分(题分就是积分),如下图所示。
    在这里插入图片描述
  • 随后便可用赠送的题分在免费测试页面(https://www.chaojiying.com/demo.html)进行测试。如下图所示。读者可自行搜索一些图像验证码或者利用本书提供的HTML文件进行测试。
    在这里插入图片描述

2.1.2 超级鹰Python接口的使用

  • 打开超级鹰的Python开发文档页面(https://www.chaojiying.com/api-14.html),单击链接下载官方提供的实例代码,如下图所示。该代码是基于Python 2 编写的,而我们现在使用的通常是Python 3,因此,需要根据页面中的说明修改代码。例如,Python 2 的print()函数没有括号,所以要在Print后加括号,此外还需要把一些不规范的缩进文件改为规范的【Tab】键缩进。不愿意自己修改代码的读者可以直接从本书的配套文件中下载本书作者修改好的代码。
    在这里插入图片描述
  • 下载得到一个压缩包,解压后如下图所示。
    在这里插入图片描述
  • 修改后的代码如下,读者简单浏览即可,不需要理解其含义,代码的使用方法并不难,后续会讲解。
import requests
from hashlib import md5

class Chaojiying_Client(object):
    
    def __init__(self, username, password, soft_id):
        self.username = username
        password =  password.encode('utf8')
        self.password = md5(password).hexdigest()
        self.soft_id = soft_id
        self.base_params = {
   
   
            'user': self.username,
            'pass2': self.password,
            'softid': self.soft_id,
        }
        self.headers = {
   
   
            'Connection': 'Keep-Alive',
            'User-Agent': 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',
        }

    def PostPic(self, im, codetype):
        ""
通过超级云打码解决验证码问题 首先登陆需要的网址,在检查页面中的network中捕获点击登录时的信息,找到login的文件,点击找到登录网址和数据。按照惯例使用useragent和ip代理,先登录网址,然后访问登录网址发送请求并保存验证码的图片。调用chaojiying.py中的run()方法,传入验证码的代号,制作data并登录所需网址。首先在超级界面的价格系中找到验证码对应的代号。),在开发文档中找到python文档下载打开。在用户中心找到软件ID,生成一个软件ID。在chaojiying.py最后修改参数。 阅读详情

相关推荐

超级,字符,点触,滑块验证码识别

https://digi.bib.uni-mannheim.de/tesseract/可自行下载,点击下一步即可;Windows下安装。

Python9724的博客 3620

Python实战 | 滑块拼图验证码高级版详解

对于Image.open()函数默认真彩图像读取通道顺序为RGB,而cv2.imread()则是BGR。同时,当图像格式为RGBA时,Image.open(‘—.jpg’)读取的格式为RGBA(其中A表示图像的alpha通道,即RGBA共四个通道),而cv2.imread(‘—.jpg’)读取的格式是BGR,只有三个通道。

AI时代光年 3494

Python3爬虫实战:利用超级打码平台高效破解古诗文网动态验证码

本文详细介绍了如何利用Python3爬虫技术,结合超级打码平台高效破解古诗文网的动态验证码。文章从验证码识别原理入手,逐步讲解了超级平台的注册配置、API集成方法,并通过实战代码演示了从获取验证码图片到完成登录的完整流程,为爬虫开发者提供了一套稳定可靠的验证码解决方案。

cnn8visionary的博客 493

爬虫案例——使用超级打码平台识别验证码

案例:模拟带验证码登录古诗文网站

Bruce_xiaowei的博客 3142

python自动化登录【超级】使用详解

实战:识别古诗文网登录页面中的验证码 1.使用超级平台识别验证码的编码流程: 2.验证码图片进行本地下载 3.调用平台提供的示例代码进行图片数据识别 超级其实就是opencv中的图像识别,使用者将图片下载下来,传给超级平台识别,它会给你返回一个正确的结果

weixin_59131972的博客 5254

selenium + 超级 识别验证码自动登录

登录界面如下 爬虫代码 from selenium import webdriver import time,random, re, os from test_chaojiying import Chaojiying_Client # 导入超级工具类 from PIL import Image driver = webdriver.Chrome() #启动谷歌浏览器 driver.implicitly_wait(10)

墨茶Official 愿你在二次元有吃不完的草莓 饺子(ㄒoㄒ) 1347

15.网络爬虫—selenium验证码破解

一·selenium验证码破解 🧾 🧾网络爬虫是一种自动化程序,用于从Web页面中提取数据。然而,有些网站为了防止爬虫程序抓取数据,会加入一些验证码,使得程序无法自动化地完成数据采集任务。为了解决这个问题,我们可以使用selenium来破解验证码。 🧾 Selenium是一个开源的自动化测试工具,它可以模拟用户在浏览器中的操作,包括点击、输入等。使用selenium可以模拟用户手动输入验证码,从而实现验证码的破解。

weixin_50804299的博客 1万+

4. 验证码识别

验证码 版权声明:本博客来自路飞学城Python全栈开发培训课件,仅用于学习之用,严禁用于商业用途。 欢迎访问路飞学城官网:https://www.luffycity.com/ 本节重点 超级验证码服务平台使用 1. 引子 1.1 what is 验证码验证码是一种区分用户是计算机还是人的公共全自动程序。验证码可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的方式,我们利用比较简易的方式实现了这个

mannixiang的博客 2381

2.2 计算题验证码

计算题验证码与普通图像验证码的区别在于增加了数学运算,需要将验证码中数学计算题的结果填到文本框中,再单击“验证”。 计算题验证码的处理难点在于运算符号的识别。如果将运算符号作为常规的图像文字进行识别,那么容易出现问题,例如,经常会把乘号或倾斜的加号识别为字母x,导致难以得到正确的计算结果。 超级有专门识别计算题或问答题的接口,如下图所示(详见https://www.chaojiying.com/price.html)。 具Python代码层面,只需修改前面定义的cjy()函数的代码,将其中的Pos.

Triumph19的博客 2269

处理点选验证码 手把手教你用selenium模拟登录B站

处理点选验证码 ,教你用selenium模拟登录B站。

叶庭云 成为自己的光 3599

Python反爬案例——验证码的识别

Python爬虫实现反爬,利用打码平台识别验证码

Bruce_xiaowei的博客 1855

验证码的识别】—— 点触式验证码的识别

大家好,不知不觉的我来csdn已经又一周年了,在这一年里,我收获了很多东西,我是2022222日入驻CSDN的,一开始只是为了方便浏览文章的,后来,我也有事没事发发文章,创作了100多篇文章,有近三分之一是高质量文章,在这个不到一年里,我收获了1066位粉丝,其实,我写文章不是为了粉丝数量,只是在这个平台把自己的知识分享给别人。在新的一年里,我可以继续努力,日出万物生,日落满天星。新的一年依然记得仰望星空。2022年6月16日,那时候我才2个粉丝。虽然现在的粉丝不多,2000都没有。

爱吃饼干的小白鼠的博客 1374

Python爬虫教程】进阶篇-07 点触验证码的识别

摘要:点触验证码识别思路,初始化,获取,识别。

仲君Johnny的博客 1670

学会用打码平台处理验证码

在前一课时我们介绍了多种多样的验证码,有图形文字的、有模拟点选的、有拖动滑动的,但其实归根结底都需要人来对某种情形做一些判断,然后把结果返回并提交。如果此时提交的验证码结果是正确的,并且通过了一些验证码的检测,就能成功突破这个验证码了。 那么,既然验证码就是让人来识别的,那么机器怎么办呢?如果我们也不会什么算法,怎么去解这些验证码呢?此时如果有一个帮助我们来识别验证码的工具或平台就好了,让工具或平台把验证码识别的结果返回给我们,我们拿着结果提交,那不就好了吗? 有这种工具或平台吗?还真有专门的打码平台帮助我

猫敷雪 2099

Python爬虫系列之点触点选验证码的识别

1. 本节目标 本节我们的目标是用程序来识别并通过点触验证码的验证。 2. 准备工作 本次我们使用的 Python 库是 Selenium,使用的浏览器为 Chrome,在此之前请确保已经正确安装好了 Selenium 库、Chrome浏览器并配置好了 ChromeDriver,相关流程可以参考第一章的说明。 3. 了解点触验证码 TouClick 官方网站的验证码样式如图 8-19 所示: 图...

qq_42992919的博客 7223

数字英文验证码识别 API 对接说明

本文将介绍一种 数字英文验证码识别 API 对接说明,它是基于深度学习技术,可用于识别变长英文数字验证码。输入验证码图像的内容,输出验证码结果。接下来介绍下 数字英文验证码识别 API 的对接说明。

静觅 5445

Python3 爬虫学习笔记 C14【验证码对抗系列 — 点触验证码

Python3 爬虫学习笔记第十四章 —— 【验证码对抗系列 — 点触验证码】 文章目录【14.1】关于点触验证码14.2】点触验证码攻克思路【14.3】模拟登录 12306 — 总思路【14.4】主函数【14.5】初始化函数【14.6】破解入口函数【14.7】账号密码输入函数【14.8】页面截图函数【14.9】验证码元素查找函数【14.10】获取验证码坐标函数【14.11验证码剪裁...

BOB'S BLOG 1229

巧用 selenium 解决验证码,模拟登陆某网站

来源:Python数据之道作者:叶庭云整理:Lemon一、前言1. 介绍验证码多种多样,有图形文字的、有模拟点选的、有拖动滑动的,但其实归根结底都需要人来对某种情形做一些判断,然后把结果...

SeizeeveryDay的博客 2953
上一篇: python获取文件路径时报错NameError: name ‘__file__‘ is not defined
下一篇: 2.2 计算题验证码
Triumph19
博客等级 码龄7年 684粉丝 221原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值