python challenge
from: http://www.cnblogs.com/jimnox/archive/2009/12/08/tips-to-python-challenge.html
Python Challenge是一个网页闯关游戏,通过一些提示找出下一关的网页地址。与众不同的是,它是专门为程序员设计的,因为大多数关卡都要编程来算哦!!
去年和同学一起玩的,他做了大半,我做了小半,作弊了一些,33关全通,今天逛硬盘发现这个资料,拿出来晃晃。
非常非常非常非常好玩,强烈推荐编程的朋友都玩玩,不一定要会Python,我和我同学都不会,不过我们用C#一样能搞出来,没有障碍的。
0
http://www.pythonchallenge.com/pc/def/0.html
猜238,说是38在2上面一点点,猜238= 274877906944,进入下一关
1
http://www.pythonchallenge.com/pc/def/274877906944.html
http://www.pythonchallenge.com/pc/def/map.html
根据图上的提示,是位移加密,每个字符位移两次,把下面那些提示用这个方法的处理,告诉我用同样的方法处理url,得到ocr
2
http://www.pythonchallenge.com/pc/def/ocr.html
提示看源文件,一大堆字符,说要找到出现次数最少的字符,发现是equality
3
http://www.pythonchallenge.com/pc/def/equality.html
一个小写字母,每边刚好有三个大写字母做保镖。
XXX
XxX
XXX
X
X
XXXxXXX
X
X
xXXXxXXXx 这个才是对的……
找到的答案是linkedlist
4
http://www.pythonchallenge.com/pc/def/linkedlist.html
http://www.pythonchallenge.com/pc/def/linkedlist.php
点击网页上的图片之后,进入连接
http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing=12345
提示and the next nothing is 92512
然后就把12345改成92512,他又提示and the next nothing is 64505……
就这么一路下去,照着提示,几百次之后就行了……
5
http://www.pythonchallenge.com/pc/def/peak.html
peak hell说要读出来,pickle
下载banner.p
然后就又不会了……
6
http://www.pythonchallenge.com/pc/def/channel.html
从图片看出,拉链(zip)是主角……
下载channel.zip
然后和第4关差不多,做个程序一路走下去。
然后据说有注释,但是我找不到……
7
http://www.pythonchallenge.com/pc/def/oxygen.html
图片上的那条灰度按照ASCII解码出来后是integrity
8
http://www
相关文档:
Python 的异常处理机制
Python代码
try:
raise Exception("a", "b")
except Exception,e:
print e
finally:
print "final"
('a', ......
Python内建异常体系结构
BaseException
+-- SystemExit
+-- KeyboardInterrupt
+-- GeneratorExit
+-- Exception
+-- StopIteration
+-- StandardError
| +-- BufferError
| +-- ArithmeticError
| | +-- FloatingPointError
| | +-- OverflowError
| ......
当python中间处理非ASCII编码时,经常会出现如下错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)
0x??是超出128的数字,python在默认的情况下认为语言的编码是ascii编码,所以无法处理其他编码,需要设置python的默认编码为所需要的编码。
一个解决的方案是 ......
总结下,Python 下载网页的几种方法
1
fd = urllib2.urlopen(url_link)
data = fd.read()
这是最简洁的一种,当然也是Get的方法
2
通过GET的方法
def GetHtmlSource(url):
try:
htmSource = ''
&nb ......