国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python妹子圖簡單爬蟲實例

2019-11-25 17:13:35
字體:
供稿:網(wǎng)友

本文實例講述了python妹子圖簡單爬蟲實現(xiàn)方法。分享給大家供大家參考。具體如下:

#!/usr/bin/env python#coding: utf-8import urllibimport urllib2import osimport reimport sys#顯示下載進度def schedule(a,b,c):  '''''  a:已經(jīng)下載的數(shù)據(jù)塊  b:數(shù)據(jù)塊的大小  c:遠(yuǎn)程文件的大小  '''  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 downloadImg(html, num, foldername):  picpath = '%s' % (foldername) #下載到的本地目錄  if not os.path.exists(picpath): #路徑不存在時創(chuàng)建一個    os.makedirs(picpath)  target = picpath+'/%s.jpg' % num  myItems = re.findall('<p><a href="http:////www.mzitu.com/.*?" ><img src="(.*?)" alt=".*?" /></a></p>',html,re.S)  print 'Downloading image to location: ' + target  urllib.urlretrieve(myItems[0], target, schedule)#正則匹配分頁def findPage(html):  myItems = re.findall('<span>(/d*)</span>', html, re.S)  return myItems.pop()#正則匹配列表def findList(html):  myItems = re.findall('<h2><a  title="(.*?)" target="_blank">.*?</a></h2>', html, re.S)  return myItems#總下載def totalDownload(modelUrl):  listHtml5 = getHtml(modelUrl)  listContent = findList(listHtml)  for list in listContent:    html = getHtml('http://www.mzitu.com/' + str(list[0]))    totalNum = findPage(html)    for num in range(1, int(totalNum)+1):      if num == 1:        url = 'http://www.mzitu.com/' + str(list[0])        html5 = getHtml(url)        downloadImg(html5, str(num), str(list[1]))      else:        url = 'http://www.mzitu.com/' + str(list[0]) + '/'+str(num)        html5 = getHtml(url)        downloadImg(html5, str(num), str(list[1]))if __name__ == '__main__':  listHtml = getHtml('http://www.mzitu.com/model')  #這是其中一個模塊的url,可以添加不同的模塊url從而達(dá)到整站爬取。  for model in range(1, int(findPage(listHtml))+1):    if model == 1:      modelUrl = 'http://www.mzitu.com/model'      totalDownload(modelUrl)    else:      modelUrl = 'http://www.mzitu.com/model/page/' + str(model)      totalDownload(modelUrl)  print "Download has finished."

希望本文所述對大家的Python程序設(shè)計有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 泽州县| 离岛区| 茂名市| 齐河县| 会宁县| 台山市| 丹巴县| 东台市| 威宁| 唐海县| 曲松县| 福安市| 加查县| 神木县| 浑源县| 长宁区| 安仁县| 桂东县| 开封县| 大庆市| 泽州县| 广汉市| 罗山县| 乌审旗| 轮台县| 交城县| 新营市| 宜昌市| 中阳县| 全椒县| 襄垣县| 响水县| 庆元县| 高雄市| 兰考县| 海城市| 云林县| 江门市| 辽中县| 福海县| 邵阳县|