关于简单验证码的识别

2016 年 7 月 24 日
 dotpig
受爱国青年的影响,最近喜欢读人民日报。人民日报网站提供 pdf 下载,每一页一个 pdf 文件。本来很好的一件事,我可以弄个脚本每天自动下载、合并一张报纸的十几个 pdf ,回家后就可以看了(本地报纸我就是这么弄的)。但是,人民日报选择给人民制造一点麻烦,就是下载每一页报纸都要输入验证码。验证码很简单,就是 4 个等宽数字,如下图:



由于我不会编程,咨询一下有没有简单方便的识别方法可用,比如 python 的,最终目的就是在脚本里方便的将验证码识别并提交,然后下载对应的文件( curl )。
4680 次点击
所在节点    问与答
21 条回复
scnace
2016 年 7 月 24 日
尝试一下 ocr
int64ago
2016 年 7 月 24 日
不需要 OCR ,这种是最简单的,过滤背景-分割-对比
jswh
2016 年 7 月 24 日
@int64ago 还是 OCR 方便,自己写其实最终也是 OCR 那一套。

https://github.com/tesseract-ocr/tesseract
niboy
2016 年 7 月 24 日
PIL
dotpig
2016 年 7 月 24 日
发现有 PyTesser 可用。悲剧的是,我发现人民日版数字版其实要钱的,下了三页以后就要求输入订阅帐号了。那我只能上网学习人民日报了。
Garantion
2016 年 7 月 24 日
最简单的 KNN 即可 Github 上一搜一大把
yangxiongwei
2016 年 7 月 24 日
tscat
2016 年 7 月 24 日
二值化之后 ocr 就行
klesh
2016 年 7 月 24 日
会 python 不会编程?
bazingaterry
2016 年 7 月 24 日
这个和我校的教务系统很像,我处理的时候直接 OCR 就有 70% 成功率。
popok
2016 年 7 月 24 日
次世代验证码识别,可以找下破解版。
SDK 例程: http://antiyzm.sinaapp.com/
就你这个验证码的话,识别率可以到 100%
popok
2016 年 7 月 24 日

新建工程,然后每个数字都做一个字模,然后生成 cds 文件,用 python 调用一个 dll ,加载这个字模文件,就能识别了
coolzjy
2016 年 7 月 24 日
这种类型的验证码,曾经用 JavaScript 搞了一个在浏览器环境中识别的。
http://coolzjy.github.io/captcha-reader/
coolzjy
2016 年 7 月 24 日
@dotpig 下载三页确定不是 cookie 控制的?
fusae
2016 年 7 月 24 日
fusae
2016 年 7 月 24 日
DaCong
2016 年 7 月 24 日
我记得我曾经搞过一个类似的,好像是教务系统的。
说一下大致思路:
1. 图片降噪
2. OCR 识别
bumz
2016 年 7 月 24 日
@Garantion KNN 指什么? k-Nearest Neighbors?
Garantion
2016 年 7 月 24 日
@bumz 是的,不好意思,写缩写写错了,应该是 k-NN 。
panda0
2016 年 7 月 25 日
tesseract 我刚试了下,好像毫无难度。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/294510

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX