python获取网页中所有图片并筛选指定分辨率的方法
发布时间:2020-12-16 20:45:24 所属栏目:Python 来源:网络整理
导读:压测时,图片太少,想着下载网页中的图片,然后过滤指定分辨率,但网页中指定分辨率的图片太少了(见下) 后使用格式工厂转换图片 import urllib.request # 导入urllib模块import re # 导入re模块import osfrom PIL import Imagehtmlurl = 'http://www.win40
压测时,图片太少,想着下载网页中的图片,然后过滤指定分辨率,但网页中指定分辨率的图片太少了(见下) import urllib.request # 导入urllib模块 import re # 导入re模块 import os from PIL import Image htmlurl = 'http://www.win4000.com/wallpaper_detail_134824_3.html' downloadpath = 'C:UsersyaowanjunDesktopimg' def getHTML(htmlurl): req = urllib.request.urlopen(htmlurl) buf = req.read() return buf.decode('utf-8') def downloadImg(buf): req = r'src="(.+?.jpg)"' #正则表达式,匹配图片格式 imgreq = re.compile(req) #编译正则表达式 imglist = re.findall(imgreq,buf) # print(imglist) x = 0 if not os.path.isdir(downloadpath):#若没有则创建 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 imglist def 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() 执行结果: 指定网页所有图片 不符合指定分辨率的图片删除后 以上这篇python获取网页中所有图片并筛选指定分辨率的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。 您可能感兴趣的文章:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |