美文网首页
Python3 解谜挑战 关卡二

Python3 解谜挑战 关卡二

作者: AiFany | 来源:发表于2018-01-17 14:32 被阅读16次
    PythonChallenge.png
    查看上一关过关方法

    关卡二:OCR 光学字符识别

    3.png
    提示
       红色文字指出:识别字母,字母也许在书中,但更大的可能性是在page source,也就是网页的源码中。
    开始解谜:
      python3解答
    import urllib.request as urlre#引入库
    sourcepage = urlre.urlopen('http://www.pythonchallenge.com/pc/def/ocr.html')
    source = sourcepage.read()
    sourcepage.close()
    

      我们先将网页的源码打印出来,或者直接查看网页的源代码,看看线索究竟在哪里。

    for ii in for ii in source.splitlines():
        print(ii)
    
    clew.png

    在输出的结果中,我们会看到有一行的代码为:find rare characters in the mess below:,这就是线索。

    alpha = []#存储识别的字母
    sign = 0
    for ii in source.splitlines():
        if ii == b'find rare characters in the mess below:':#文档的开始标识1,定位线索
            sign = 1
        elif sign == 1 and ii == b'<!--':#文档的开始标识2
            sign = 2
        elif sign == 2:
            for hh in ii[1:]:
                if chr(hh).isalpha():
                    alpha.append(chr(hh))
        elif sign == 2 and  ii == b'-->':#文档的结束标识
            break
    print(('').join(alpha))
    

    程序输出的结果:equality。将浏览器地址栏中的ocr.html改为equality.html即可进入下一关
    不定期更新,欢迎留言,敬请关注!!!

    相关文章

      网友评论

          本文标题:Python3 解谜挑战 关卡二

          本文链接:https://www.haomeiwen.com/subject/wbhdoxtx.html