未加星标

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

字体大小 | |
[开发(python) 所属分类 开发(python) | 发布者 店小二03 | 时间 | 作者 红领巾 ] 0人收藏点击收藏
压测时,图片太少,想着下载网页中的图片,然后过滤指定分辨率,但网页中指定分辨率的图片太少了(见下)
后使用格式工厂转换图片
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获取网页中所有图片并筛选指定分辨率的方法

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


您可能感兴趣的文章:利用Python批量生成任意尺寸的图片python获取图片颜色信息的方法

本文开发(python)相关术语:python基础教程 python多线程 web开发工程师 软件开发工程师 软件开发流程

主题: HTML分辨率Python删除
tags: buf,singleimg,downloadpath,req,图片,re,urllib,print,files,os,import,网页,分辨率,htmlurl,request
分页:12
转载请注明
本文标题:python获取网页中所有图片并筛选指定分辨率的方法
本站链接:http://www.codesec.net/view/574832.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 开发(python) | 评论(0) | 阅读(77)