我以前写的第一个python程序

2年多前,看了一个下午的电子书,写了一个晚上,狂丑(不过现在python程序也写的很丑)。

 ---------------------------------------------------------------------

由于Fish用网易相册给我中转我们在南京时候的照片,我不得不写了一个现在程序来自
动下载这100多M的相片。 
下面这个代码 就是用python写的一个多线程现在网易相册一整个目录的程序。
不过网易似乎做了 http链接限制。
所以如果 太多照片 还是要加上线程控制或者将 
thread.start_new_thread去掉,直接用阻塞方式调用getphoto

 

import urllib
import thread
import urlparse
import pullparser, sys
import 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 pattern
r = 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\n"
        imgurl = dict(token.attrs).get("src", "-")
        print imgurl+"\n"
        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+"\n"
        print "burl "+burl+" "+bfname+"\n"
        try:
            thread.start_new_thread(getPhoto,(surl,burl,sfname,bfname))
        except IOError:
            print "!!!IOException\n"

   


张一鸣,男,福建龙岩,南开校友。 从事搜索引擎研发工作 兴趣:计算机,网络,搜索,即时通信和其它有价值的网络应用 爱好:旅游,美食

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。