欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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á)式把源代碼中的圖片地址過(guò)濾出來(lái)
3、根據(jù)過(guò)濾出來(lái)的圖片地址下載網(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)址來(lái)獲取網(wǎng)頁(yè)詳細(xì)信息,得到的html就是網(wǎng)頁(yè)的源代碼 
def getHtml(url): 
  page = urllib.urlopen(url) 
  html = page.read() 
  return html 
 def getImg(html): 
  #利用正則表達(dá)式把源代碼中的圖片地址過(guò)濾出來(lái) 
  reg = r'src="(.+?\.jpg)" pic_ext' 
  imgre = re.compile(reg) 
  imglist = imgre.findall(html) #表示在整個(gè)網(wǎng)頁(yè)中過(guò)濾出所有圖片的地址,放在imglist中 
  x = 0 
  for imgurl in imglist: 
    urllib.urlretrieve(imgurl,'%s.jpg' %x) #打開(kāi)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è)“圖片”文件夾來(lái)保存圖片

# -*- coding: utf-8 -*- 
# feimengjuan 
import re 
import urllib 
import urllib2 
import os 
#抓取網(wǎng)頁(yè)圖片  
#根據(jù)給定的網(wǎng)址來(lái)獲取網(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á)式把源代碼中的圖片地址過(guò)濾出來(lái) 
  reg = r'src="(.+?\.jpg)" pic_ext' 
  imgre = re.compile(reg) 
  imglist = imgre.findall(html) #表示在整個(gè)網(wǎng)頁(yè)中過(guò)濾出所有圖片的地址,放在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)文章

  • 解決python3 網(wǎng)絡(luò)請(qǐng)求路徑包含中文的問(wèn)題

    解決python3 網(wǎng)絡(luò)請(qǐng)求路徑包含中文的問(wèn)題

    今天小編就為大家分享一篇解決python3 網(wǎng)絡(luò)請(qǐng)求路徑包含中文的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • python3.9和pycharm的安裝教程并創(chuàng)建簡(jiǎn)單項(xiàng)目的步驟

    python3.9和pycharm的安裝教程并創(chuàng)建簡(jiǎn)單項(xiàng)目的步驟

    這篇文章主要介紹了python3.9和pycharm的安裝教程并創(chuàng)建簡(jiǎn)單項(xiàng)目的步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 十行Python代碼制作一個(gè)視頻倒放神器

    十行Python代碼制作一個(gè)視頻倒放神器

    這篇文章主要介紹了如何通過(guò)十行代碼實(shí)現(xiàn)視頻倒放神器,輕松實(shí)現(xiàn)視頻倒放功能。文中的示例代碼簡(jiǎn)潔易懂,對(duì)我們學(xué)習(xí)Python有一定幫助,需要的可以參考一下
    2022-02-02
  • 如何使用Python調(diào)整圖像大小

    如何使用Python調(diào)整圖像大小

    這篇文章主要介紹了如何使用Python調(diào)整圖像大小,幫助大家更好的利用python處理圖像,感興趣的朋友可以了解下
    2020-09-09
  • 30道python自動(dòng)化測(cè)試面試題與答案匯總

    30道python自動(dòng)化測(cè)試面試題與答案匯總

    對(duì)于機(jī)器學(xué)習(xí)算法工程師而言,Python是不可或缺的語(yǔ)言,它的優(yōu)美與簡(jiǎn)潔令人無(wú)法自拔,下面這篇文章主要給大家介紹了關(guān)于30道python自動(dòng)化測(cè)試面試題與答案匯總的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • python 阿里云oss實(shí)現(xiàn)直傳簽名與回調(diào)驗(yàn)證的示例方法

    python 阿里云oss實(shí)現(xiàn)直傳簽名與回調(diào)驗(yàn)證的示例方法

    這篇文章主要介紹了python 阿里云oss實(shí)現(xiàn)直傳簽名與回調(diào)驗(yàn)證,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 對(duì)python內(nèi)置map和six.moves.map的區(qū)別詳解

    對(duì)python內(nèi)置map和six.moves.map的區(qū)別詳解

    今天小編就為大家分享一篇對(duì)python內(nèi)置map和six.moves.map的區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • Python基于opencv實(shí)現(xiàn)的人臉識(shí)別(適合初學(xué)者)

    Python基于opencv實(shí)現(xiàn)的人臉識(shí)別(適合初學(xué)者)

    OpenCV是一個(gè)基于BSD許可開(kāi)源發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),下面這篇文章主要給大家介紹了關(guān)于Python基于opencv實(shí)現(xiàn)的人臉識(shí)別,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),本文的教程非常適合初學(xué)者,需要的朋友可以參考下
    2022-03-03
  • Python常見(jiàn)讀寫文件操作實(shí)例總結(jié)【文本、json、csv、pdf等】

    Python常見(jiàn)讀寫文件操作實(shí)例總結(jié)【文本、json、csv、pdf等】

    這篇文章主要介紹了Python常見(jiàn)讀寫文件操作,結(jié)合實(shí)例形式總結(jié)分析了Python常見(jiàn)的各種文件讀寫操作,包括文本、json、csv、pdf等文件的讀寫與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2019-04-04
  • pandas 讀取各種格式文件的方法

    pandas 讀取各種格式文件的方法

    今天小編就為大家分享一篇pandas 讀取各種格式文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06

最新評(píng)論