Python Challenge (level 4)

URI: http://www.pythonchallenge.com/pc/def/linkedlist.html

说明:
按提示将linkedlist.html改成likedlist.php进入level 4

从title和图片可以看出来这题就像打水井一样,需要一遍又一遍的机械进行才能获得答案。
page source显示图片的href 后面有一个nothing=12345的调用 urllib may help. DON'T TRY ALL NOTHINGS, since it will never end. 400 times is more than enough.
调用linkedlist.php?nothing=12345得到了and the next nothing is 92512 从中得到规律,根据每次获得的nothing值来进行下次url访问。


解题方法:
#!/usr/bin/env python

import re
import urllib

url="http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing="
nothing = "12345"
search = re.compile(" (\d*)$")
search_html = re.compile("\.html$")

for i in xrange(300): 
    print "%s: " % nothing,

    line = urllib.urlopen( "%s%s" % (url,nothing) ).read()
    print line

    # handle the solution (last) line
    if search_html.findall (line):
        break
        
    match = search.findall (line)
    if match:
        # next nothing
        nothing = match [0]
    else:
        # handle the divide by two line
        nothing = str (int (nothing) / 2 )


过关答案:
peak

你可能感兴趣的:(html,PHP,python)