爬虫笔记num7-验证码识别

it2025-04-06  21

验证码识别

反爬机制处理方法:识别图片中的数据,用于模拟登陆 识别验证码的操作

人工肉眼识别(不推荐)第三方自动识别(推荐)(云打码,斐斐打码,超级鹰等)需要充值

使用流程(使用的云打码) (之后云打码已经用不了,超级鹰跟下属步骤几乎相似)

注册(普通或者开发者用户)开发者用户——创建软件——添加新软件——导入软件名称——提交———产生软件秘钥和id——开发文档——下载实例代码——点击下载云打码接口

代码中只需要修改部分用户名,密码,软件id,秘钥 上图为超级鹰的开发文档,选择开发语言。 之后会跳出对应开发语言的Demo下载,点击下载,在本地用IDE打开即可。

#!/usr/bin/env python # coding:utf-8 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): """ im: 图片字节 codetype: 题目类型 参考 http://www.chaojiying.com/price.html """ params = { 'codetype': codetype, } params.update(self.base_params) files = {'userfile': ('ccc.jpg', im)} r = requests.post('http://upload.chaojiying.net/Upload/Processing.php', data=params, files=files, headers=self.headers) return r.json() def ReportError(self, im_id): """ im_id:报错题目的图片ID """ params = { 'id': im_id, } params.update(self.base_params) r = requests.post('http://upload.chaojiying.net/Upload/ReportError.php', data=params, headers=self.headers) return r.json() if __name__ == '__main__': chaojiying = Chaojiying_Client('超级鹰用户名', '超级鹰用户名的密码', '96001') #用户中心>>软件ID 生成一个替换 96001 im = open('a.jpg', 'rb').read() #本地图片文件路径 来替换 a.jpg 有时WIN系统须要// print chaojiying.PostPic(im, 1902) #1902 验证码类型 官方网站>>价格体系 3.4+版 print 后要加()

上述代码为python语言的实例代码,只需要看着注释进行更改即可,前提是已经注册并且进行了充值。

最新回复(0)