python challenge 5解题总结

python challenge 5 网址:www.pythonchallenge.com/pc/def/peak.html

 

网页上只有两个英语单词pronounce it,再看图片上的画面,上面显示的是山顶,山顶的英文单词为peak,这与python的模块pickle音相同,于是想到这是一个序列化问题,看网页的源码会得到banner.p这么一个信息,于是利用urllib2打开,用pickle进行反序列化。


源代码如下:

import urllib2, pickle
url="http://www.pythonchallenge.com/pc/def/banner.p"
result=''
tmp=urllib2.urlopen(url)
fileobj=pickle.load(tmp)
for i in fileobj:
    for j in i:
        result=result+j[0]*j[1]
    result=result+'n'
print result