首页 > 编程 > Python > 正文

python获取网页中所有图片并筛选指定分辨率的方法

2020-01-04 15:28:56
字体:
来源:转载
供稿:网友

压测时,图片太少,想着下载网页中的图片,然后过滤指定分辨率,但网页中指定分辨率的图片太少了(见下)
后使用格式工厂转换图片

import urllib.request   # 导入urllib模块import re     # 导入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)"' #正则表达式,匹配图片格式  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 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()

执行结果:

指定网页所有图片

python,图片分辨率

不符合指定分辨率的图片删除后

python,图片分辨率

以上这篇python获取网页中所有图片并筛选指定分辨率的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到python教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表