python获取网页中所有图片并筛选指定分辨率的方法
Python  /  管理员 发布于 6年前   135
压测时,图片太少,想着下载网页中的图片,然后过滤指定分辨率,但网页中指定分辨率的图片太少了(见下)
后使用格式工厂转换图片
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="https:/article/(.+?\.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获取网页中所有图片并筛选指定分辨率的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..路人 在
php中使用hyperf框架调用讯飞星火大模型实现国内版chatgpt功能示例中评论 教程很详细,如果加个前端chatgpt对话页面就完美了..Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号