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