Web数据爬虫中简单验证码的识别

鳄鱼君Ba

发表文章数:518

Vieu四代商业主题

高扩展、安全、稳定、响应式布局多功能模板。

¥69 现在购买
首页 » Python教程 » Web数据爬虫中简单验证码的识别

Python在爬虫的时候会遇到一些验证码问题,今天就以简单的验证来进行说明,再次之前需要安装一些东西,Windows系统需要安装tesseract,然后安装tessercor。

通过pycharm终端安装

通过这个方式安装,不需要考虑环境变量的问题,我们直接打开pycharm终端,进入到pip目录下,一般就是venv/scripts目录,输入代码:

pip install --default-timout=5000 tesseract

tesseract比较大,所以使用pip不加超时时间就百分百安装不上,那么我们在以后需要安装某个库的时候,在pycharm中就可以使用这种方式,比较暴力。之后就是安装tesserocr,这个需要从官网下载tesseract对应的版本才行,下载地址:https://github.com/simonflueckiger/tesserocr-windows_build/releases。比如我的Python版本是3.7,电脑是Windows64位,所以我下载的是:tesserocr-2.4.0-cp37-cp37m-win_amd64.whl。下载完之后在pycharm中使用pip进行安装:

pip install C:\Users\Administrator\Desktop\tesserocr-2.4.0-cp37-cp37m-win_amd64.whl

如果你下载放在桌面上,直接就可以使用上面的命令安装,就完了。

tesserocr的安装问题还是比较多的,采用命令行安装tesseract(这个不用考虑路径,环境变量问题),然后在安装tesserocr即可

但是最后在运行代码的时候报错找不到tessdata文件,所以说还是按照网上普便的教程,首先下载安装tesseract,然后在安装tesserocr,我这里也是下载把这个tessdata拖到Python目录中,不存在环境变量了,自己按照情况来。

简单验证码

验证码的接口:http://my.cnki.net/Register/CheckCode.aspx?id=1541251235676,这类Web数据爬虫中简单验证码的识别验证码是非常简单的一种,我们具体通过代码来识别一下,代码参考:

import tesserocr
from PIL import Image
for i in range(1,2):
    str='{}.jpg'.format(i)
    image=Image.open(str)
    result=tesserocr.image_to_text(image).strip()
    print(result)

那么或者可以使用下面的代码:

import tesserocr

for i in range(1,2):
    str='{}.jpg'.format(i)
    result=tesserocr.file_to_text(str).strip()
    print(result)

但是效果都是非常差,你可以测试10个验证码,正确率20%,那么使用下面的代码正确率会高一点,50%左右吧

from PIL import Image

for i in range(1,2):
    str='{}.jpg'.format(i)
    image=Image.open(str)
    image=image.convert('L')
    threshold=127
    table=[]
    for i in range(256):
        if i<threshold:
            table.append(0)
        else:
            table.append(1)
    result=image.point(table,'1')
    print(result)
    result.show()
 

未经允许不得转载:作者:鳄鱼君Ba, 转载或复制请以 超链接形式 并注明出处 鳄鱼君Ba
原文地址:《Web数据爬虫中简单验证码的识别》 发布于2020-03-01

分享到:
赞(1) 赏杯咖啡

评论 抢沙发

5 + 3 =


文章对你有帮助可赏作者一杯咖啡

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.6主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册