专栏首页Python 知识大全Python 爬虫简单验证码识别和抓包

Python 爬虫简单验证码识别和抓包

  • 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

本文分享自微信公众号 - Python 知识大全(TuoLaJi522),作者:杨姐姐

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python网络爬虫进阶扩展(完)

    Python知识大全
  • Python 函数知识大全

    函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。

    Python知识大全
  • Python ⽣成器(Generators)

    ⽣成器最佳应⽤场景是:你不想同⼀时间将所有计算出来的⼤ 量结果集分配到内存当中,特别是结果集⾥还包含循环。

    Python知识大全
  • opencv学习笔记---用numpy对图片操作,创建,修改

    也可以调用函数来取反,顺便计算一下时间,前面的要2800多ms,调用函数只需要30ms

    用户2965768
  • 用Keras+TensorFlow,实现ImageNet数据集日常对象的识别

    王新民 编译自 Deep Learning Sandbox博客 量子位 出品 | 公众号 QbitAI ? 在计算机视觉领域里,有3个最受欢迎且影响非常大的学术...

    量子位
  • PIL学习笔记(一)

    Oceanlong
  • BTree

    大学里的混子
  • 4、Swing在JPanel中添加背景图片方法

    Jpanel面板中加载背景图片 在实际应用Java做界面的过程中,常常会涉及到加载背景图片以使页面美化。下面整理了一个小模块以便于调用。 1 package ...

    YGingko
  • Django-9 个人账户信息更新

    首先修改django_project/users/forms.py,添加用户更新表单,头像表单:

    亚乐记
  • 论linux下计划任务

    小伙伴们,平时做程序开发的时候,是否也曾为实现一个商城网站或者一个小程序自动执行某个方法而苦恼呢?

    思梦php

扫码关注云+社区

领取腾讯云代金券