Python3 解谜挑战 关卡二
2018-01-17 本文已影响16人
AiFany
PythonChallenge.png
查看上一关过关方法
提示:
红色文字指出:识别字母,字母也许在书中,但更大的可能性是在page source,也就是网页的源码中。
开始解谜:
python3解答
查看上一关过关方法
关卡二: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即可进入下一关。
不定期更新,欢迎留言,敬请关注!!!