標籤:爬蟲 美女;python
與大家一起分享剛剛寫好的py.
#!/usr/bin/env python# -*- coding: utf-8 -*-import urllibimport urllib2import osimport reimport sysdef trypicdir(picpath): if not os.path.exists(picpath): #下載到的本地目錄,路徑不存在時建立一個 os.makedirs(picpath)#顯示下載進度def schedule(a,b,c): ‘‘‘‘‘ a:已經下載的資料區塊 b:資料區塊的大小 c:遠程檔案的大小 ‘‘‘ per = 100.0 * a * b / c if per > 100 : per = 100 print (‘%.2f%%‘ % per)#擷取html源碼def getHtml(url): page = urllib.urlopen(url) html = page.read() return html#正則匹配分頁def findPage(html): myItems = re.findall(‘<span>(\d*)</span>‘, html, re.S) if myItems : return myItems.pop() else: return 0#正則匹配列表def findList(html): Items = re.findall(‘<span><a href="http://www.mzitu.com/(\d*)" target="_blank">(.*?)</a></span>‘, html, re.S) myItems=[] for i in Items: myItems.append((i[0])) return myItems#下載圖片def downloadImg(url_pic,picpath): tmppic = re.findall("http:\/\/www.mzitu.com/(.*?)$",url_pic,re.S)[0] picfile = picpath+‘/%s.jpg‘ % ‘_‘.join(tmppic.split(‘/‘)) html=getHtml(url_pic) myItems = re.findall(‘<p><a href="http:\/\/www.mzitu.com/.*?" ><img src="(.*?)" alt=".*?" /></a></p>‘,html,re.S) print (‘正在下載%s圖片儲存到本地%s..... ‘%(url_pic,picfile)) try: urllib.urlretrieve(myItems[0], picfile, schedule) except: print (‘下載%s圖片儲存到本地%s失敗,請檢查連結是否有問 ‘%(url_pic,picfile))#單個美女串連下載def getdowns(modelUrl,picpath): listHtml=getHtml(modelUrl) TotablNum=findPage(listHtml) if TotablNum != 0: for i in range(1,(int(TotablNum)+1)): downloadImg(url_pic=‘%s/%s‘%(modelUrl,i),picpath=picpath) else: downloadImg(url_pic=‘%s‘%(modelUrl),picpath=picpath)‘‘‘思路:1、擷取所有美女串連列表。2、擷取單個美女總串連數。3、下載。‘‘‘if __name__ == ‘__main__‘: #picpath=r"F:\9tmp_pic" picpath=‘/tmp/pic_tmp‘ trypicdir(picpath=picpath) listHtml = getHtml(‘http://www.mzitu.com/model‘) #這是其中一個模組的url,可以添加不同的模組url從而達到整站爬取。 listContent = findList(listHtml) #print ("listContent:",listContent) for m in listContent: getdowns(modelUrl=‘http://www.mzitu.com/%s‘%m,picpath=picpath) print ("恭喜,所有美女圖片已經下載完成。")
:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/8B/50/wKioL1hJe6rS0oQEAADiOLGm21w082.jpg-wh_500x0-wm_3-wmp_4-s_2156658427.jpg" title="3.jpg" alt="wKioL1hJe6rS0oQEAADiOLGm21w082.jpg-wh_50" />
本文出自 “都市布衣” 部落格,請務必保留此出處http://sunday208.blog.51cto.com/377871/1880967
python:分享美女圖