亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁(yè)圖片抓取完整代碼實(shí)例

 更新時(shí)間:2017年12月15日 16:05:25   作者:以后以后  
這篇文章主要介紹了Python實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁(yè)圖片抓取完整代碼實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下。

利用python抓取網(wǎng)絡(luò)圖片的步驟是:
1、根據(jù)給定的網(wǎng)址獲取網(wǎng)頁(yè)源代碼
2、利用正則表達(dá)式把源代碼中的圖片地址過濾出來
3、根據(jù)過濾出來的圖片地址下載網(wǎng)絡(luò)圖片

以下是比較簡(jiǎn)單的一個(gè)抓取某一個(gè)百度貼吧網(wǎng)頁(yè)的圖片的實(shí)現(xiàn):

# -*- coding: utf-8 -*- 
# feimengjuan 
import re 
import urllib 
import urllib2 
#抓取網(wǎng)頁(yè)圖片  
#根據(jù)給定的網(wǎng)址來獲取網(wǎng)頁(yè)詳細(xì)信息,得到的html就是網(wǎng)頁(yè)的源代碼 
def getHtml(url): 
  page = urllib.urlopen(url) 
  html = page.read() 
  return html 
 def getImg(html): 
  #利用正則表達(dá)式把源代碼中的圖片地址過濾出來 
  reg = r'src="(.+?\.jpg)" pic_ext' 
  imgre = re.compile(reg) 
  imglist = imgre.findall(html) #表示在整個(gè)網(wǎng)頁(yè)中過濾出所有圖片的地址,放在imglist中 
  x = 0 
  for imgurl in imglist: 
    urllib.urlretrieve(imgurl,'%s.jpg' %x) #打開imglist中保存的圖片網(wǎng)址,并下載圖片保存在本地 
    x = x + 1 
 html = getHtml("http://tieba.baidu.com/p/2460150866")#獲取該網(wǎng)址網(wǎng)頁(yè)詳細(xì)信息,得到的html就是網(wǎng)頁(yè)的源代碼 
getImg(html)#從網(wǎng)頁(yè)源代碼中分析并下載保存圖片 

進(jìn)一步對(duì)代碼進(jìn)行了整理,在本地創(chuàng)建了一個(gè)“圖片”文件夾來保存圖片

# -*- coding: utf-8 -*- 
# feimengjuan 
import re 
import urllib 
import urllib2 
import os 
#抓取網(wǎng)頁(yè)圖片  
#根據(jù)給定的網(wǎng)址來獲取網(wǎng)頁(yè)詳細(xì)信息,得到的html就是網(wǎng)頁(yè)的源代碼 
def getHtml(url): 
  page = urllib.urlopen(url) 
  html = page.read() 
  return html 
 
#創(chuàng)建保存圖片的文件夾 
def mkdir(path): 
  path = path.strip() 
  # 判斷路徑是否存在 
  # 存在  True 
  # 不存在 Flase 
  isExists = os.path.exists(path) 
  if not isExists: 
    print u'新建了名字叫做',path,u'的文件夾' 
    # 創(chuàng)建目錄操作函數(shù) 
    os.makedirs(path) 
    return True 
  else: 
    # 如果目錄存在則不創(chuàng)建,并提示目錄已經(jīng)存在 
    print u'名為',path,u'的文件夾已經(jīng)創(chuàng)建成功' 
    return False 
# 輸入文件名,保存多張圖片 
def saveImages(imglist,name): 
  number = 1 
  for imageURL in imglist: 
    splitPath = imageURL.split('.') 
    fTail = splitPath.pop() 
    if len(fTail) > 3: 
      fTail = 'jpg' 
    fileName = name + "/" + str(number) + "." + fTail 
    # 對(duì)于每張圖片地址,進(jìn)行保存 
    try: 
      u = urllib2.urlopen(imageURL) 
      data = u.read() 
      f = open(fileName,'wb+') 
      f.write(data) 
      print u'正在保存的一張圖片為',fileName 
      f.close() 
    except urllib2.URLError as e: 
      print (e.reason) 
    number += 1  
#獲取網(wǎng)頁(yè)中所有圖片的地址 
def getAllImg(html): 
  #利用正則表達(dá)式把源代碼中的圖片地址過濾出來 
  reg = r'src="(.+?\.jpg)" pic_ext' 
  imgre = re.compile(reg) 
  imglist = imgre.findall(html) #表示在整個(gè)網(wǎng)頁(yè)中過濾出所有圖片的地址,放在imglist中 
  return imglist   
#創(chuàng)建本地保存文件夾,并下載保存圖片 
if __name__ == '__main__': 
  html = getHtml("http://tieba.baidu.com/p/2460150866")#獲取該網(wǎng)址網(wǎng)頁(yè)詳細(xì)信息,得到的html就是網(wǎng)頁(yè)的源代碼 
  path = u'圖片' 
  mkdir(path) #創(chuàng)建本地文件夾 
  imglist = getAllImg(html) #獲取圖片的地址列表 
  saveImages(imglist,path) # 保存圖片 

結(jié)果在“圖片”文件夾下保存了幾十張圖片,如截圖:

總結(jié)

以上就是本文關(guān)于Python實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁(yè)圖片抓取完整代碼實(shí)例的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:

Python爬蟲實(shí)例爬取網(wǎng)站搞笑段子

python爬蟲系列Selenium定向爬取虎撲籃球圖片詳解

如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

相關(guān)文章

最新評(píng)論