2年多前,看了一个下午的电子书,写了一个晚上,狂丑(不过现在python程序也写的很丑)。
---------------------------------------------------------------------
import urllibimport threadimport urlparseimport pullparser, sysimport re
def getPhoto(surl,burl,sfname,bfname): wps = open(sfname, "wb" fps = urllib.urlopen(surl) n=0 while 1: s = fps.read(8192) if not s: break wps.write(s) n = n + len(s) fps.close() wps.close()
wpb = open(bfname ,"wb" fpb = urllib.urlopen(burl) k=0 while 1: b = fpb.read(8192) if not b: break wpb.write(b) k = k + len(b) fpb.close() wpb.close() print "copied "+str(n)+" " +str(k)+" from "+" "+surl+" "+burl
#以下是 网易相册中 某一目录的链接地址
DirURL ="http://photo.163.com/openalbum.php?username=帐号&_dir=%目录号&page="
pat = r'(S*)/__scale__1_(S*.jpg$)' # My patternr = re.compile(pat) # Compile it
for i in [1, 2, 3, 4, 5 ,6 ,7]: baseURL=DirURL+str(i) print "baseURL ="+baseURL usock = urllib.urlopen(baseURL) # print usock.read() p = pullparser.PullParser(usock) for token in p.tags("img": if token.type == "endtag": continue print "hello
" imgurl = dict(token.attrs).get("src", "-" print imgurl+"
" m = r.match(imgurl) # See if string s matches if not m: continue ; surl=imgurl; burl=m.group(1)+"/"+m.group(2) sfname = "s"+m.group(2) bfname ="b"+m.group(2) print "surl "+surl+" "+sfname+"
" print "burl "+burl+" "+bfname+"
" try: thread.start_new_thread(getPhoto,(surl,burl,sfname,bfname)) except IOError: print "!!!IOException
"