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 相关文章推荐
在漏洞利用Python代码真的很爽
Aug 26 Python
Python使用random和tertools模块解一些经典概率问题
Jan 28 Python
python脚本设置系统时间的两种方法
Feb 21 Python
python3使用matplotlib绘制条形图
Mar 25 Python
提升Python程序性能的7个习惯
Apr 14 Python
pyinstaller参数介绍以及总结详解
Jul 12 Python
使用python实现数组、链表、队列、栈的方法
Dec 20 Python
python之生成多层json结构的实现
Feb 27 Python
Python基于当前时间批量创建文件
May 07 Python
通过Python实现Payload分离免杀过程详解
Jul 13 Python
健身房被搭讪?用python写了个小米计时器助人为乐
Jun 08 Python
python函数的两种嵌套方法使用
Apr 02 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
玩转虚拟域名◎+ .
2006/10/09 PHP
SWFUpload与CI不能正确上传识别文件MIME类型解决方法分享
2011/04/18 PHP
php gzip压缩输出的实现方法
2013/04/27 PHP
PHP判断文件是否被引入的方法get_included_files用法示例
2016/11/29 PHP
CSS+Jquery实现页面圆角框方法大全
2009/12/24 Javascript
js 刷新页面的代码小结 推荐
2010/04/02 Javascript
在一个js文件里远程调用jquery.js会在ie8下的一个奇怪问题
2010/11/28 Javascript
JQuery live函数
2010/12/24 Javascript
提取字符串中年月日的函数代码
2013/11/05 Javascript
javascript使用 concat 方法对数组进行合并的方法
2016/09/08 Javascript
jQuery生成假加载动画效果
2016/12/01 Javascript
用Nodejs搭建服务器访问html、css、JS等静态资源文件
2017/04/28 NodeJs
JavaScript变量声明var,let.const及区别浅析
2018/04/23 Javascript
animate.css在vue项目中的使用教程
2018/08/05 Javascript
Vue框架里使用Swiper的方法示例
2018/09/20 Javascript
js中的闭包实例展示
2018/11/01 Javascript
详解Vue中watch对象内属性的方法
2019/02/01 Javascript
ajax跨域访问遇到的问题及解决方案
2019/05/23 Javascript
基于JavaScript实现简单扫雷游戏
2021/01/02 Javascript
微信小程序选择图片控件
2021/01/19 Javascript
[51:29]完美世界DOTA2联赛循环赛 Matador vs Forest BO2第一场 11.05
2020/11/05 DOTA
修改Python的pyxmpp2中的主循环使其提高性能
2015/04/24 Python
浅谈python迭代器
2017/11/08 Python
Python进程间通信Queue实例解析
2018/01/25 Python
python如何实现反向迭代
2018/03/20 Python
Python cookbook(数据结构与算法)将多个映射合并为单个映射的方法
2018/04/19 Python
基于python实现坦克大战游戏
2020/10/27 Python
波兰在线香水店:Perfumy.pl
2019/08/12 全球购物
初中作文评语大全
2014/04/23 职场文书
企业法人授权委托书
2014/09/25 职场文书
机关作风整顿个人整改措施思想汇报
2014/09/29 职场文书
经理岗位职责
2015/02/02 职场文书
先进个人自荐书
2015/03/06 职场文书
MySQL 数据恢复的多种方法汇总
2021/06/21 MySQL
Java并发编程之Executor接口的使用
2021/06/21 Java/Android
分享node.js实现简单登录注册的具体代码
2022/04/26 NodeJs