python获取网页中所有图片并筛选指定分辨率的方法
作者:YY_姚 发布时间:2021-07-28 04:57:23
标签: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()
执行结果:
指定网页所有图片
不符合指定分辨率的图片删除后
来源:https://blog.csdn.net/weixin_38208401/article/details/78324469
0
投稿
猜你喜欢
- 你是怎么把密码储存到数据库里?是以纯文字的方式?你可知道这对安全的危险性?当攻击你网站的人能开启数据库浏览,以纯文字方式存在数据库里的密码一
- 这篇文章主要介绍了原生Java操作mysql数据库过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要
- 本文实例讲述了django框架model orM使用字典作为参数,保存数据的方法。分享给大家供大家参考,具体如下:假设有一个字典,里面已经有
- 如何将产生的密码记录并发送给用户?这里使用了cdonts邮件组件来发送邮件,前提服务器得支持cdonts组件。好了,看看具体实现方法吧,不是
- Memcached是一种高性能的分布式内存对象缓存系统,常用于加速动态Web应用程序。在本文中,我们将使用Python和PyQt5来制作一个
- jsp登陆验证,网页登陆验证带验证码校验,登录功能之添加验证码part_1:专门用于生成一个验证码图片的类:VerificationCode
- 为什么使用事务 当对多个表进行更新的时候,某条执行失败。为了保持数据的完整性,需要使用事务回滚。 显示设置事务 代码如下:beg
- 这里以安装简单的nonebot库为例子欧克,简明扼要,拿走点赞哟:大家想要的豆瓣源如下:因为有几个,但在这里还是建议使用国内的豆瓣源,本人感
- 最近 W3C 一口气推出 7 个 HTML 工作草案,涵盖了 HTML5,HTML RDF,HTML Microdata,HTM
- 之前自己也遇到过一次,这段时间在群里也遇到过几次的一个问题用python2.7写的一段程序,里面用到了字典推导式,但是服务器版本是pytho
- 前言如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本特征,在头脑里头形成一个基本的面向对象的概念,这样有
- 本文探讨了提高MySQL数据库性能的思路,并从8个方面给出了具体的解决方法。1、选取最适用的字段属性MySQL可以很好的支持大数据量的存取,
- 笔者日积月累了许多精彩、实用的Web特效的制作,这些特效几乎都是比较常用的网页特效。现在我就把这些经过
- 通过XML使系统之间的数据交换变得更简单,因为它与编程语言无关,刚引入XML的概念时,是通过一个脚本或应用程序解析XML数据,将其转换为适合
- 我们可以利用 Cookie collection 来刪除客户端的Cookies: <%
- SCRIPT 标记 用于包含JavaScript代码. 属性 LANGUAGE&nbs
- 农历新年将至,支付宝红包打了一仗,微信在朋友圈屏蔽了它的分享,但单防守还不行,进攻才是最好的防守。昨日,微信支付现金红包接口正式开放,只需开
- 本系列不会对python语法,理论作详细说明;所以不是一个学习教材;而这里只是我一个学习python的某些专题的总结。1. random()
- 重置oracle序列从指定数字开始 代码如下:declare n number(10); v_startnum number(10):=1
- 本文实例讲述了Symfony2之session与cookie用法。分享给大家供大家参考,具体如下:session操作:1. Set Sess