Python: Decode and crack the captcha

对验证码的识别现在基本有3种方案:

1)把图片下载后,利用现成的库进行OCR识别

对于OCR engine,现在有一个非常流行的开源库,叫Tesseract engine,而对于Python
则有一个叫Pytesser的开源库,是一个python wrapper on tesseract engine。

参考: https://blog.c22.cc/2010/10/12/python-ocr-or-how-to-break-captchas/

2)通过图片训练,比较图片的相似度

参考:http://www.jwandrews.co.uk/2013/01/breaking-the-minteye-image-captcha-in-23-lines-of-python/

3)机器学习或者Deep Learning

Great codes in Python (Keep updating)

thefuck

评审意见: 让人惊喜的是,这个代码库写的可读性很强,并且经过了良好测试。

Paramid

评审意见: 这个网站框架的作者与reddit所使用的pylons是同一个作者,每一个Paramid的版本发布都通过单元测试和集成测试保证了100%的语句(statement)覆盖率,这个覆盖率的测试是通过在PyPi上的开源的覆盖率测试工具。另外它还在PyPi上的instrumentation tool上测试工具下保证了95%的分支(decision/condition)覆盖率。

cherrypy

评审意见: 自从Pylons停止进一步开发后,我发现cherrypy,它的文档跟过去比已经大幅提高。

request

评审意见: requests偶尔会遇到扩展的问题,因为它的response对象是用3层的。

flask

评审意见: 我认为Flask引入了非常坏的习惯,就是通过依赖注射(DI)注入的全局的request对象。但是Flask在你的app只需要3个文件,并且每个文件不用超过200行的时候非常好用。

Radicale

web2py

discord.py

Howdoi

Diamond

Werkzeug

Tablib

References: