今天就跟大家聊聊有關(guān)Python如何實現(xiàn)簡單網(wǎng)頁圖片,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
為尉氏等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及尉氏網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、網(wǎng)站制作、尉氏網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!Python實現(xiàn)簡單網(wǎng)頁圖片抓取完整代碼實例
分類專欄: python
文章標簽: 編程語言 python java 大數(shù)據(jù)
版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/chengxun03/article/details/106321564
收起
@本文來源于公眾號:csdn2299,喜歡可以關(guān)注公眾號 程序員學府
這篇文章主要介紹了Python實現(xiàn)簡單網(wǎng)頁圖片抓取完整代碼實例,具有一定借鑒價值,需要的朋友可以參考下。
利用python抓取網(wǎng)絡(luò)圖片的步驟是:
1、根據(jù)給定的網(wǎng)址獲取網(wǎng)頁源代碼
2、利用正則表達式把源代碼中的圖片地址過濾出來
3、根據(jù)過濾出來的圖片地址下載網(wǎng)絡(luò)圖片
以下是比較簡單的一個抓取某一個百度貼吧網(wǎng)頁的圖片的實現(xiàn):
# -*- coding: utf-8 -*-
# feimengjuan
import re
import urllib
import urllib2
#抓取網(wǎng)頁圖片
#根據(jù)給定的網(wǎng)址來獲取網(wǎng)頁詳細信息,得到的html就是網(wǎng)頁的源代碼
def getHtml(url):
page = urllib.urlopen(url)
html = page.read()
return html
def getImg(html):
#利用正則表達式把源代碼中的圖片地址過濾出來
reg = r'src="(.+?\.jpg)" pic_ext'
imgre = re.compile(reg)
imglist = imgre.findall(html) #表示在整個網(wǎng)頁中過濾出所有圖片的地址,放在imglist中
x = 0
for imgurl in imglist:
urllib.urlretrieve(imgurl,'%s.jpg' %x) #打開imglist中保存的圖片網(wǎng)址,并下載圖片保存在本地
x = x + 1
html = getHtml("/tupian/20230522/error.html getImg(html)#從網(wǎng)頁源代碼中分析并下載保存圖片
進一步對代碼進行了整理,在本地創(chuàng)建了一個“圖片”文件夾來保存圖片
# -*- coding: utf-8 -*-
# feimengjuan
import re
import urllib
import urllib2
import os
#抓取網(wǎng)頁圖片
#根據(jù)給定的網(wǎng)址來獲取網(wǎng)頁詳細信息,得到的html就是網(wǎng)頁的源代碼
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
# 對于每張圖片地址,進行保存
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)頁中所有圖片的地址
def getAllImg(html):
#利用正則表達式把源代碼中的圖片地址過濾出來
reg = r'src="(.+?\.jpg)" pic_ext'
imgre = re.compile(reg)
imglist = imgre.findall(html) #表示在整個網(wǎng)頁中過濾出所有圖片的地址,放在imglist中
return imglist
#創(chuàng)建本地保存文件夾,并下載保存圖片
if __name__ == '__main__':
html = getHtml("/tupian/20230522/error.html path = u'圖片'
mkdir(path) #創(chuàng)建本地文件夾
imglist = getAllImg(html) #獲取圖片的地址列表
saveImages(imglist,path) # 保存圖片
結(jié)果在“圖片”文件夾下保存了幾十張圖片,如截圖:
看完上述內(nèi)容,你們對Python如何實現(xiàn)簡單網(wǎng)頁圖片有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝大家的支持。
網(wǎng)站標題:Python如何實現(xiàn)簡單網(wǎng)頁圖片-創(chuàng)新互聯(lián)
分享路徑:http://aaarwkj.com/article46/pgjhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、移動網(wǎng)站建設(shè)、響應式網(wǎng)站、網(wǎng)站導航、品牌網(wǎng)站建設(shè)、虛擬主機
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容