Python爬虫遇到验证码的几种处理方式,文章末尾有源码
最近事情其实挺多了 , 打了一下蓝桥杯的比赛 ,还在准备着一些证书的考试 ,关于爬虫之类的博客都搁着了一段时间了 ,关于我自己确实有点退步了 ,实属不该 ,其实我自己也是在想 ,大三了 , 到底我是要去考研 , 还是依然像这样更新换代的学技术 ,再或者 ,继续钻爬虫这路子 ,虽然我也不知道这路走的顺不顺 ,自己也有点抓不住光明 ,这段时间 , 大概花了一个多月的晚上吧 ,终于把Django 的大致过了一次 ,剩下的就是对着官方文档和一些实际项目操作了 ,这些我也会打算开一个专栏 , 来专门记录一下我学习Django 的一些心酸道路 ,学习依旧是这样 ,你不学习 , 就会失去 ,很是莫名其妙 ,真的很奇怪 ,某人的奖学金是靠关系的 ,某项目的获奖者仅仅只是临时换了一个名字 ,。。。
私信小编01即可获取大量Python学习资料
不管这些了 , 无所谓的东西 ,这边博客 , 将处理图片验证码的2个比较优秀的方式进行了一次封装, 分别是百度的aip 和 一个最近火起来的识别muggle-ocr这里要主要提一下百度的aip , 这里面的东西是真的多 ,我还扩展了一个识别色情图片的函数 ,有兴趣的可以玩一玩 ,另外 学了爬虫之后 ,这些图片真的是应接不暇 ,网站也是多的数不胜数 ,希望净网行动加把劲 ,剩下的就不比比了 ,看实际操作吧 。
本篇文章介绍了爬虫中验证码的处理方式 ,并把这些功能封装起来 , 供我们使用 ,涉及到百度AIP的调用方式 ,以及一个最新的开源库muggle识别库的使用 , 欢迎阅读 , 点赞 , 收藏!
博主其他文章, 欢迎阅读!
目录:
- 学会调用百度的aip接口:
- 扩展百度的色情识别接口:
- 学会muggle_ocr 识别接口:
- 封装源码:
【Python爬虫遇到验证码的几种处理方式,文章末尾有源码】
注册完成之后登入2. 创建项目在这些技术里面找到文字识别 , 然后点击创建一下项目
文章插图创建完成之后:
文章插图图片中 AppID , API key, Secret Key 这些待会是需要用的 。
下一步可以查看官网文档 , 或者直接使用我写的代码
3. 安装一下依赖库 pip install baidu-aip
这只是一个接口 ,需要前面的一些设置 。
def return_ocr_by_baidu(self, test_image):"""ps: 先在__init__函数中完成你自己的baidu_aip 的一些参数设置这次测试使用 高精度版本测试如果速度很慢 可以换回一般版本self.client.basicGeneral(image, options)相关参考网址::param test_image: 待测试的文件名称:return:返回这个验证码的识别效果 如果错误可以多次调用"""image = self.return_image_content(test_image=self.return_path(test_image))# 调用通用文字识别(高精度版)# self.client.basicAccurate(image)# 如果有可选参数 相关参数可以在上面的网址里面找到options = {}options["detect_direction"] = "true"options["probability"] = "true"# 调用result = self.client.basicAccurate(image, options)result_s = result['words_result'][0]['words']# 不打印关闭print(result_s)if result_s:return result_s.strip()else:raise Exception("The result is None , try it !")扩展百度的色情识别接口:我们写代码肯定是要找点乐子的 ,不可能这么枯燥无味吧?色情识别接口在 内容审核中 ,找一下就可以了 。
调用方式源码:
# -*- coding :utf-8 -*-# @Time:2020/10/2217:30# @author:沙漏在下雨# @Software:PyCharm# @CSDN:from aip import AipContentCensorfrom ocr import MyOrcclass Auditing(MyOrc):"""这是一个调用百度内容审核的aip接口主要用来审核一些色情 反恐 恶心 之类的东西网址:"""def __init__(self):# super().__init__()APP_ID = '填写你的ID'API_KEY = '填写你的KEY'SECRET_KEY = '填写你的SECRET_KEY'self.client = AipContentCensor(APP_ID, API_KEY, SECRET_KEY)def return_path(self, test_image):return super().return_path(test_image)def return_image_content(self, test_image):return super().return_image_content(test_image)def return_Content_by_baidu_of_image(self, test_image, mode=0):"""继承ocr中的一些方法 ,因为都是放一起的 少些一点代码内容审核: 关于图片中是否存在一些非法不良信息内容审核还可以实现文本审核 我觉得有点鸡肋就没一起封装进去url::param test_image: 待测试的图片 可以本地文件 也可以网址:param mode:默认 = 0 表示 识别的本地文件mode = 1 表示识别的图片网址连接:return: 返回识别结果"""if mode == 0:filepath = self.return_image_content(self.return_path(test_image=test_image))elif mode == 1:filepath = test_imageelse:raise Exception("The mode is 0 or 1 but your mode is ", mode)# 调用色情识别接口result = self.client.imageCensorUserDefined(filepath)# """ 如果图片是url调用如下 """# result = self.client.imageCensorUserDefined('')print(result)return resulta = Auditing()a.return_Content_by_baidu_of_image("test_image/2.jpg", mode=0)
- 告诉|阿里大佬告诉你如何一分钟利用Python在家告别会员看电影
- Python源码阅读-基础1
- Python调用时使用*和**
- 如何基于Python实现自动化控制鼠标和键盘操作
- 解决多版本的python冲突问题
- 学习python第二弹
- Python中文速查表-Pandas 基础
- 零基础小白Python入门必看:通俗易懂,搞定深浅拷贝
- Python 使用摄像头监测心率!这么强吗?
- 十分钟教会你使用Python操作excel,内附步骤和代码
