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
"

标签: none

添加新评论