首页 » 网站推广 » php打码平台技巧_19Python 原生爬虫教程第三方打码平台进行复杂验证码的识别

php打码平台技巧_19Python 原生爬虫教程第三方打码平台进行复杂验证码的识别

访客 2024-12-13 0

扫一扫用手机浏览

文章目录 [+]

不妨设想一下,如果爬虫碰着了 Pyesseract 无法识别的验证码该怎么办呢?难道爬虫就不写了吗?我以为老板可能不太乐意啊,以是这节课给你推举另一种验证码识别办法,那便是 – 第三方打码平台。

俗话说三个臭皮匠还顶个诸葛亮呢,我们在实际开拓中碰着办理不了的难题的时候一定不要在那里闷头坐着去世扣,一定要善用搜索引擎。
编程这个行业发展了这么多年,没准你碰到的问题早就被别人办理了还把办理问题的方法分享了出来呢

php打码平台技巧_19Python 原生爬虫教程第三方打码平台进行复杂验证码的识别

本节课学习目标:

php打码平台技巧_19Python 原生爬虫教程第三方打码平台进行复杂验证码的识别
(图片来自网络侵删)

能够闇练的利用一种第三方打码平台识别验证码。

1. 常见的第三方打码平台

平时常用的打码平台有:超级鹰,云打码,打码兔,联众打码,超人打码,斐斐打码,91打码等。
读者可以更加自己的须要自行选择。

2. 打码平台进行打码步骤

利用第三方平台进行打码,常日须要四个步骤。
我们这里利用超级鹰打码平台进行示范。

首先选择一个打码平台进行注册

由于不同平台,注册的流程不一样,这里不再截图演示。
注册完成后,如果没有供应免费适用的功能,我们须要充值才能精确的利用接口。
每个平台,都会有自己的开拓文档,我们按照开拓文档的示列进行改写就可以直策应用了。

须要进行充值

如果只是大略的测试,可以充值较小的金额,由于是第三方平台,无法担保网站是持久可用的,充值须谨慎。

获取网站的程序ID

充值完成后,我们会得到一个程序ID,把这个ID放入到接口中,方便第三方平台进行校验。

上传验证码,返回调用结果。
3. 打码平台对接例子

接下来我们用一个大略的例子来详细演示一下上面的步骤:

这里,我们随便选择了一个打码平台的接口例子来进行讲解。

关于如何在打码平台上进行注册和查找接口文档,由于打码平台的不稳定性,这里不做推举,读者可以自行百度,选择适宜自己的平台进行注册和利用。
在确定打码平台的可靠性的条件下,再进行充值。
严防被骗!

我们接下来通过打码平台验证如下验证码,验证码图片如下:

代码如下:

#!/usr/bin/env python# coding:utf-8import requestsfrom hashlib import md5#客户端类class My_Client(object): #初始化 def __init__(self, username, password, soft_id): self.username = username self.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: 题目类型 """ 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 = My_Client('XXX', 'XXX', 'XXX') im = open('a.jpg', 'rb').read() print(chaojiying.PostPic(im, XXX))

上述代码,我们统共有三个方法,分别是初始化,上传图片和缺点反馈。
初始化紧张是初始化一些基本的信息,这些可以在打码平台注册的地方获取。
其余,打码平台还会供应一个打码平台供应的识别码SoftId。
初始化成功后,我们上传验证码,末了打印出结果。
可以看到结果为7261,跟验证码里面的笔墨同等。

运行结果如下:

4. 小结

由于打码平台良莠不齐,读者选择打码平台的时候,须要选一些有名的企业,其余,利用打码的平台的时候,须要按照不同平台的规定接口进行调用,不同打码平台的规范是不一样的。

标签:

相关文章

phpajax盘算技巧_PHPAJAX 与 PHP

AJAX PHP 实例下面的实例将演示当用户在输入框中键入字符时,网页如何与 Web 做事器进行通信:实例考试测验在输入框中输入一...

网站推广 2024-12-15 阅读0 评论0