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


Posted in Python onMarch 31, 2018

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

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 相关文章推荐
Django内容增加富文本功能的实例
Oct 17 Python
centos 安装python3.6环境并配置虚拟环境的详细教程
Feb 22 Python
Python使用matplotlib和pandas实现的画图操作【经典示例】
Jun 13 Python
python中plot实现即时数据动态显示方法
Jun 22 Python
python通过zabbix api获取主机
Sep 17 Python
浅谈numpy生成数组的零值问题
Nov 12 Python
python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例
Feb 28 Python
python实现读取类别频数数据画水平条形图案例
Apr 24 Python
提高python代码运行效率的一些建议
Sep 29 Python
关于PyCharm安装后修改路径名称使其可重新打开的问题
Oct 20 Python
Numpy数组的广播机制的实现
Nov 03 Python
Python利用matplotlib绘制散点图的新手教程
Nov 05 Python
python如何将图片转换为字符图片
Aug 19 #Python
Pyinstaller将py打包成exe的实例
Mar 31 #Python
Python pymongo模块用法示例
Mar 31 #Python
Python向MySQL批量插数据的实例讲解
Mar 31 #Python
Python将图片转换为字符画的方法
Jun 16 #Python
Python实现从log日志中提取ip的方法【正则提取】
Mar 31 #Python
Python+OpenCV实现车牌字符分割和识别
Mar 31 #Python
You might like
DEDE采集大师官方留后门的删除办法
2011/01/08 PHP
PHP如何抛出异常处理错误
2011/03/02 PHP
php Rename 更改文件、文件夹名称
2011/05/24 PHP
使用PHP计算两个路径的相对路径
2013/06/14 PHP
使用PHP下载CSS文件中的图片的代码
2013/09/24 PHP
三种php连接access数据库方法
2013/11/11 PHP
php技术实现加载字体并保存成图片
2015/07/27 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
2017/06/17 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
php设计模式之策略模式应用案例详解
2019/06/17 PHP
基于JavaScript 下namespace 功能的简单分析
2013/07/05 Javascript
Jquery方式获取iframe页面中的 Dom元素
2014/05/07 Javascript
js实现类似于add(1)(2)(3)调用方式的方法
2015/03/04 Javascript
JavaScript实现带播放列表的音乐播放器实例分享
2016/03/07 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
2016/08/11 Javascript
vue2.0 下拉框默认标题设置方法
2018/08/22 Javascript
vue上传图片到oss的方法示例(图片带有删除功能)
2018/09/27 Javascript
解决layui使用layui-icon出现默认图标的问题
2019/09/11 Javascript
js实现多个标题吸顶效果
2020/01/08 Javascript
vue-路由精讲 二级路由和三级路由的作用
2020/08/06 Javascript
详解Vue中的watch和computed
2020/11/09 Javascript
python 实现插入排序算法
2012/06/05 Python
Django小白教程之Django用户注册与登录
2016/04/22 Python
python基础while循环及if判断的实例讲解
2017/08/25 Python
python smtplib模块自动收发邮件功能(一)
2018/05/22 Python
基于Django与ajax之间的json传输方法
2018/05/29 Python
ubuntu17.4下为python和python3装上pip的方法
2018/06/12 Python
详解pandas数据合并与重塑(pd.concat篇)
2019/07/09 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
2019/07/14 Python
英语教育专业毕业生求职信
2014/08/28 职场文书
市场总监岗位职责
2015/02/11 职场文书
外贸业务员岗位职责
2015/02/13 职场文书
教师培训简讯
2015/07/20 职场文书
体育教师教学随笔
2015/08/15 职场文书
五年级作文之成长
2019/09/16 职场文书
Python pandas之求和运算和非空值个数统计
2021/08/07 Python