壓測(cè)時(shí),圖片太少,想著下載網(wǎng)頁中的圖片,然后過濾指定分辨率,但網(wǎng)頁中指定分辨率的圖片太少了(見下)
后使用格式工廠轉(zhuǎn)換圖片
import urllib.request # 導(dǎo)入urllib模塊import re # 導(dǎo)入re模塊import osfrom PIL import Imagehtmlurl = 'http://www.win4000.com/wallpaper_detail_134824_3.html'downloadpath = 'C://Users//yaowanjun//Desktop//img//'def getHTML(htmlurl): req = urllib.request.urlopen(htmlurl) buf = req.read() return buf.decode('utf-8')def downloadImg(buf): req = r'src="(.+?/.jpg)"' #正則表達(dá)式,匹配圖片格式 imgreq = re.compile(req) #編譯正則表達(dá)式 imglist = re.findall(imgreq, buf) # print(imglist) x = 0 if not os.path.isdir(downloadpath):#若沒有則創(chuàng)建 os.makedirs(downloadpath) paths = downloadpath for imgurl in imglist: f = open(paths + str(x) +'.jpg',"wb") #打開文件 req = urllib.request.urlopen(imgurl) buf = req.read() #讀出文件 f.write(buf) f.close() x = x + 1 return imglistdef saveImg(): for filenumber in os.walk(downloadpath): # print(filenumber[2]) for files in filenumber[2]: # print(files) singleimg = Image.open(downloadpath + files) singleimg.close() #print(singleimg.size, singleimg.width, singleimg.height) if singleimg.size == (1920, 1080): print(singleimg) else: os.remove(downloadpath + files)buf = getHTML(htmlurl)downloadImg(buf)saveImg()執(zhí)行結(jié)果:
指定網(wǎng)頁所有圖片

不符合指定分辨率的圖片刪除后

以上這篇python獲取網(wǎng)頁中所有圖片并篩選指定分辨率的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持VEVB武林網(wǎng)。
|
新聞熱點(diǎn)
疑難解答
圖片精選