python获取网页中所有图片并筛选指定分辨率的方法
压测时,图片太少,想着下载网页中的图片,然后过滤指定分辨率,但网页中指定分辨率的图片太少了(见下)
后使用格式工厂转换图片
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:\\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 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获取网页中所有图片并筛选指定分辨率的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。
python 获取图片分辨率的方法
pil版:
from PIL import Image
filename = r'E:\data\yangben\0.jpg'
img = Image.open(filename)
imgSize = img.size #图片的长和宽
print (imgSize)
maxSize = max(imgSize) #图片的长边
minSize = min(imgSize) #图片的短边
print(maxSize, minSize)
opencv版:
img = cv2.imread(F1)
sp = img.shape
height = sp[0] # height(rows) of image
width = sp[1] # width(colums) of image
chanael = sp[2] # the pixels value is made up of three primary colors
print ( 'width: %d \nheight: %d \nnumber: %d' % (width, height, chanael))
以上这篇python 获取图片分辨率的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。
以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。