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 相关文章推荐
wxpython学习笔记(推荐查看)
Jun 09 Python
剖析Python的Tornado框架中session支持的实现代码
Aug 21 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
Apr 28 Python
python装饰器深入学习
Apr 06 Python
CentOS7下python3.7.0安装教程
Jul 30 Python
python 检查文件mime类型的方法
Dec 08 Python
利用nohup来开启python文件的方法
Jan 14 Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
Jul 11 Python
pytorch之Resize()函数具体使用详解
Feb 27 Python
改变 Python 中线程执行顺序的方法
Sep 24 Python
详解查看Python解释器路径的两种方式
Oct 15 Python
Pandas实现批量拆分与合并Excel的示例代码
May 30 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
PHP 5.0对象模型深度探索之属性和方法
2008/03/27 PHP
yii2带搜索功能的下拉框实例详解
2016/05/12 PHP
深入理解PHP中的empty和isset函数
2016/05/26 PHP
jQuery级联操作绑定事件实例
2014/09/02 Javascript
js实现jquery的offset()方法实例
2015/01/10 Javascript
JavaScript中的关联数组问题
2015/03/04 Javascript
JavaScript 动态加载脚本和样式的方法
2015/04/13 Javascript
浅谈JSON.parse()和JSON.stringify()
2015/07/14 Javascript
EasyUI Pagination 分页的两种做法小结
2016/07/09 Javascript
Angularjs 实现分页功能及示例代码
2016/09/14 Javascript
bootstrap datetimepicker日期插件超详细使用方法介绍
2017/02/23 Javascript
for循环 + setTimeout 结合一些示例(前端面试题)
2017/08/30 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
2018/04/12 Javascript
JavaScript学习笔记之DOM基础操作实例小结
2019/01/09 Javascript
vue组件 keep-alive 和 transition 使用详解
2019/10/11 Javascript
[03:40]DOTA2亚洲邀请赛小组赛第二日 赛事回顾
2015/01/31 DOTA
django表单实现下拉框的示例讲解
2018/05/29 Python
Python实现压缩文件夹与解压缩zip文件的方法
2018/09/01 Python
在python中安装basemap的教程
2018/09/20 Python
用Python PIL实现几个简单的图片特效
2019/01/18 Python
使用 Python 清理收藏夹里已失效的网站
2019/12/03 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
2020/04/27 Python
HTML5的download属性详细介绍和使用实例
2014/04/23 HTML / CSS
英国钻石公司:British Diamond Company
2020/02/16 全球购物
北京-环亚运商测试题.net程序员初步测试题
2013/05/28 面试题
what is the difference between ext2 and ext3
2013/11/03 面试题
餐饮业创业计划书范文
2014/01/06 职场文书
电子商务专业学生职业生涯规划
2014/03/07 职场文书
《飞向蓝天的恐龙》教学反思
2014/04/09 职场文书
2014幼儿园教师师德师风演讲稿
2014/09/10 职场文书
2014年综合治理工作总结
2014/11/20 职场文书
仓库管理员岗位职责
2015/02/03 职场文书
2015年控辍保学工作总结
2015/05/18 职场文书
图解排序算法之希尔排序Java实现
2021/06/26 Java/Android
安装harbor作为docker镜像仓库的问题
2022/06/14 Servers
Win10多屏显示如何设置?Win10电脑多屏显示设置操作方法
2022/07/07 数码科技