python之花瓣美女下載

jopen 9年前發布 | 1K 次閱讀 Python

作者:vpoet

日期:大約在夏季

注:代碼隨意copy 不用告訴我


主要功能:

    1.搜索花瓣http://huaban.com/下的圖片

    2.選定下載圖片數目

    3.顯示下載進度

    4.創建目錄并下載到桌面


注釋少,湊合看。

    #coding: utf-8
import urllib, urllib2, re, sys, os
import random
reload(sys)

def Schedule(a,b,c):  
    """a:已經下載的數據塊  
    b:數據塊的大小  
    c:遠程文件的大小"""  
    per = 100.0 * a * b / c  
    if per > 100:  
        per = 100  
    print '%.2f%%' % per  





def SearchAndDownLoadImg(SearchStr,NumPerPage,filepath):  

    url = 'http://huaban.com/search/?q=%s&per_page=%s' % (SearchStr,str(NumPerPage))  

    Respon = urllib2.urlopen(url)  

    Htm = Respon.read()  

    print url+"\n\n\n"  

    print "----------------Search Over,And Begin DownLoad----------------"+"\n\n"  

    Patt=re.compile('"file":\{"farm":"farm1",.+?"bucket":"hbimg",.+?"key":"(.*?)",.+?"type":"image/(.*?)",.+?"width":')  

    group = re.findall(Patt,Htm)  

    #print "find total imgurl"+len(group)+"\n"  

    x = 1  

    for item in group:  

        imgurl=r"http://img.hb.aicdn.com/"+item[0]+"_fw658"  

        urllib.urlretrieve(imgurl,filepath+'\pic%s.%s' % (str(x),item[1]),Schedule)  

        print imgurl+"------>down over" +"\tpic"+ str(x)  

        x = x+1  



if __name__ == "__main__":  

    print "Please input the picture you want to download:"  

    SearchStr = raw_input()  

    print "\n\n"  

    print "Please input the PageNumber you want to download:"  

    NumPerPage = raw_input()  

    print "\n\n"  

    print "-----------------------Begin Search---------------------------"+"\n"  


    filenum = random.randint(20, 50)  

    filename = 'PictureFile'+str(filenum)  

    filepath = 'C:\Users\Administrator\Desktop'+'\\'+filename  

    if(os.path.exists(filepath) == False):  
        os.mkdir(filepath)  

    #print filepath  

    SearchAndDownLoadImg(SearchStr,NumPerPage,filepath)  

    #http://img.hb.aicdn.com/23a58517fb73f86bca85937f069724486b3e00a44caa-GMc99I_sq75sf  

    print"\n\n"  

    print "---------------------All Down Over-----------------------"  </pre> 


 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!