Python Challenge 第二关
第二关和第一关一样,还是一幅图和一行提示。提示说的是:
recognize the characters. maybe they are in the book, but MAYBE they are in the page source.
这就很明显了,直接查看源代码。
果然,源代码下面的注释就是要处理的内容:
<!-- find rare characters in the mess below: -->
这一行注释提示让在下面那一堆符号中间查找稀有的字母,我想先把那些很长的符号复制出来。复制了两次,由于太长加手抖均没成功。转念一想,应该自己写代码把这一部分提取出来,就不用复制那么长的内容了。
url = 'http://www.pythonchallenge.com/pc/def/ocr.html' req = urllib2.Request(url) resp = urllib2.urlopen(req) page = resp.read() rstList = re.findall('<!--\s+(%.*)-->', page, re.S) ss = rstList[0]
用了个正则表达式,把这一部分注释提取了出来,然后把它赋给一个字符串变量。接着提取其中的字母,这个用列表解析就更简单了。
def getOcr(srcStr): return ''.join([x for x in srcStr if x.isalpha()])
把上一步得到的字符串传递给这个函数,就可以得到答案。打印出来是: equality。
按照之前一关的管理,把url中的ocr换成equality,果然就进入了第三关:http://www.pythonchallenge.com/pc/def/equality.html