python识别网站验证码

环境搭建

基于linux/mac、Python

1.安装Python图像库

    pip install Pillow

2.安装Python库Pytesseract

    pip install pytesseract

3.安装Python库tesseract

    pip install tesseract

4.安装leptonica

下载地址:http://www.leptonica.com/download.html

    ./configure
    make
    make install

5.安装tesseract-ocr

下载地址:https://github.com/tesseract-ocr/tesseract

    ./autogen.sh
    CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" ./configure
    make
    make install

安装完成后,再下载tessdata,将其放置于tessdata目录。

Python脚本:

#!/usr/bin/env python
#-*- coding:utf-8 -*-
# author:wdl 
# time:2017-03-08 pm

import os
import sys
import time
import requests
from PIL import Image
import pytesseract
import subprocess

code_url = "https://www.jiguang.cn/captcha/login/"

def identification_code(url):

    #获取验证码并保存
    with open("captcha.jpg","wb") as i:
        i.write(requests.get(url,stream=True).content)

    #打开图片
    im = Image.open("captcha.jpg")

    #转化图片为灰度图
    im = im.convert('L')

    def initTable(threshold=140):
        table = []
        for i in range(256):
            if i < threshold:
                table.append(0)
            else:
                table.append(1)
        return table

    #灰度图二值化
    bininaryImage = im.point(initTable(),'1')

    #将图片转化为文本
    return pytesseract.image_to_string(bininaryImage,lang="eng",config="-psm 7")

print(identification_code(code_url))
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,547评论 6 427
  • GitHub 上有一个 Awesome - XXX 系列的资源整理,资源非常丰富,涉及面非常广。awesome-p...
    若与阅读 18,713评论 4 418
  • 环境管理管理Python版本和环境的工具。p–非常简单的交互式python版本管理工具。pyenv–简单的Pyth...
    MrHamster阅读 3,840评论 1 61
  • 最近因为课外学习的缘故,重新认识了一本久有耳闻的书籍——《乌合之众》,不厚的一本书却因为可能是因为是外文翻译过来的...
    崔泽的喜东东阅读 447评论 0 1
  • 早上到公司,涛哥叫我看一个问题。我开心的回答:“哎!”全程交流很愉快,今天一天也感觉很顺利。当别人叫我们的时候,如...
    玉露君阅读 176评论 0 4