首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
宝塔
V2EX  ›  问与答

关于简单验证码的识别

  •  
  •   dotpig · 2016-07-24 10:05:15 +08:00 · 2887 次点击
    这是一个创建于 1212 天前的主题,其中的信息可能已经有所发展或是发生改变。
    受爱国青年的影响,最近喜欢读人民日报。人民日报网站提供 pdf 下载,每一页一个 pdf 文件。本来很好的一件事,我可以弄个脚本每天自动下载、合并一张报纸的十几个 pdf ,回家后就可以看了(本地报纸我就是这么弄的)。但是,人民日报选择给人民制造一点麻烦,就是下载每一页报纸都要输入验证码。验证码很简单,就是 4 个等宽数字,如下图:



    由于我不会编程,咨询一下有没有简单方便的识别方法可用,比如 python 的,最终目的就是在脚本里方便的将验证码识别并提交,然后下载对应的文件( curl )。
    21 回复  |  直到 2016-07-25 10:44:31 +08:00
        1
    scnace   2016-07-24 10:09:17 +08:00 via Android
    尝试一下 ocr
        2
    int64ago   2016-07-24 10:11:05 +08:00 via Android
    不需要 OCR ,这种是最简单的,过滤背景-分割-对比
        3
    jswh   2016-07-24 11:29:23 +08:00
    @int64ago 还是 OCR 方便,自己写其实最终也是 OCR 那一套。

    https://github.com/tesseract-ocr/tesseract
        4
    niboy   2016-07-24 11:36:06 +08:00
    PIL
        5
    dotpig   2016-07-24 12:14:11 +08:00
    发现有 PyTesser 可用。悲剧的是,我发现人民日版数字版其实要钱的,下了三页以后就要求输入订阅帐号了。那我只能上网学习人民日报了。
        6
    Garantion   2016-07-24 12:14:31 +08:00
    最简单的 KNN 即可 Github 上一搜一大把
        7
    yangxiongwei   2016-07-24 12:15:28 +08:00
        8
    tscat   2016-07-24 12:17:56 +08:00
    二值化之后 ocr 就行
        9
    klesh   2016-07-24 13:16:33 +08:00
    会 python 不会编程?
        10
    bazingaterry   2016-07-24 13:22:52 +08:00 via iPhone
    这个和我校的教务系统很像,我处理的时候直接 OCR 就有 70% 成功率。
        11
    popok   2016-07-24 13:50:21 +08:00
    次世代验证码识别,可以找下破解版。
    SDK 例程: http://antiyzm.sinaapp.com/
    就你这个验证码的话,识别率可以到 100%
        12
    popok   2016-07-24 14:04:59 +08:00

    新建工程,然后每个数字都做一个字模,然后生成 cds 文件,用 python 调用一个 dll ,加载这个字模文件,就能识别了
        13
    coolzjy   2016-07-24 14:15:02 +08:00   ♥ 1
    这种类型的验证码,曾经用 JavaScript 搞了一个在浏览器环境中识别的。
    http://coolzjy.github.io/captcha-reader/
        14
    coolzjy   2016-07-24 14:22:35 +08:00
    @dotpig 下载三页确定不是 cookie 控制的?
        16
    fusae   2016-07-24 16:13:46 +08:00
        17
    DaCong   2016-07-24 16:30:00 +08:00
    我记得我曾经搞过一个类似的,好像是教务系统的。
    说一下大致思路:
    1. 图片降噪
    2. OCR 识别
        18
    bumz   2016-07-24 18:24:34 +08:00
    @Garantion KNN 指什么? k-Nearest Neighbors?
        19
    Garantion   2016-07-24 20:15:00 +08:00
    @bumz 是的,不好意思,写缩写写错了,应该是 k-NN 。
        20
    panda0   2016-07-25 08:36:24 +08:00
    tesseract 我刚试了下,好像毫无难度。
        21
    dotpig   2016-07-25 10:44:31 +08:00
    各位,看到大家的回复,很感谢。我在 5 楼说了,找到 PyTesser 了(基于 tesseract )。但是现在找到也没用,因为人民日报电子版需要订阅才能看。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   952 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 26ms · UTC 19:25 · PVG 03:25 · LAX 11:25 · JFK 14:25
    ♥ Do have faith in what you're doing.