Python 爬虫简单验证码识别和抓包
- 2020 年 2 月 13 日
- 筆記
- OCR 即Optical Character Recognition, 光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程。
- tesserocr 是Python的一个OCR识别库。GitHub:https://github.com/tesseract-ocr/tesseract
1 软件安装:
- 注意:在安装tesserocr前都需要先安装tesseract,具体说明如下:
pip install tesserocr #安装tesserocr pip install pillow # 图片处理目录 注意: 在mac下安装tesserocr ,需要先安装下面的软件 brew install tesseract --all-languages brew install imagemagick 在:Ubuntu、Debian 系统下先安装: sudo apt-get intall -y tesseract-ocr libtesseract-dev libleptonica-dev 在:CentOS、Red Hat 系统: yum install -y tesseract 在windows安装tesserocr前要先安装:tesseract 他是为tesserocr提供支持的 下载目录:https://digi.bib.uni-mannheim.de/tesseract/ 会有很多下载文件,下载一个3.0版本的exe文件即可 在安装中要勾选上Additional language data(download)选项来安装OCR识别支持的语言包
2 具体使用:
- 简单识别验证码
#验证识别测试 import tesserocr from PIL import Image #打开图片 image = Image.open("./code/5.png") #识别验证码 result = tesserocr.image_to_text(image) print(result)
进一步优化:
- 验证码的深度处理,如转灰度、二值化等操作
#验证识别测试 import tesserocr from PIL import Image image = Image.open("./code/5.png") #将图片转化为灰度图像 image = image.convert("L") threshold = 127 table=[] for i in range(256): if i < threshold: table.append(0) else: table.append(1) image = image.point(table,'1') #识别验证码 result = tesserocr.image_to_text(image) print(result)
Fiddler抓包工具:
- Fiddler(中文名称:小提琴)是一个HTTP的调试代理,以代理服务器的方式,监听系统的Http网络数据流动
- Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。
- Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。
- 官方网址:https://www.telerik.com/fiddler
- 文档地址:http://docs.telerik.com/fiddler/configure-fiddler/tasks/configurefiddler
- 运行过程:

(本图来自互联网)
- 操作界面:

(本图来自互联网)
2. Fiddler配置过程:
- 安装好后打开fiddler→选择 Tools >Fildder Options > Https

(本图来自互联网)
- https 勾选下列选项

(本图来自互联网)
- Connection勾选允许远程连接

(本图来自互联网)
- 设置完成后点击下面的【OK】按钮保存

(本图来自互联网)
- 我们在刚开始进入Fildder的界面上,使用手机或者电脑网上冲浪就可以看到我们的http请求了。
END