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框架中设置语言偏好的教程
Jul 27 Python
用python写个自动SSH登录远程服务器的小工具(实例)
Jun 17 Python
Python多线程扫描端口代码示例
Feb 09 Python
python3获取两个日期之间所有日期,以及比较大小的实例
Apr 08 Python
Python实现接受任意个数参数的函数方法
Apr 21 Python
Python面向对象程序设计之继承与多继承用法分析
Jul 13 Python
Python配置虚拟环境图文步骤
May 20 Python
python 设置xlabel,ylabel 坐标轴字体大小,字体类型
Jul 23 Python
django解决订单并发问题【推荐】
Jul 31 Python
python自动结束mysql慢查询会话的实例代码
Oct 27 Python
Python如何把多个PDF文件合并代码实例
Feb 13 Python
pycharm软件实现设置自动保存操作
Jun 08 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
Nginx下配置codeigniter框架方法
2015/04/07 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
2019/02/27 PHP
jquery 可排列的表实现代码
2009/11/13 Javascript
比Jquery的document.ready更快的方法
2010/04/28 Javascript
JS 添加千分位与去掉千分位的示例
2013/07/11 Javascript
js 判断图片是否加载完以及实现图片的预下载
2014/08/14 Javascript
使用jQuery实现input数值增量和减量的方法
2015/01/24 Javascript
jquery.qtip提示信息插件用法简单实例
2016/06/17 Javascript
Javascript 创建类并动态添加属性及方法的简单实现
2016/10/20 Javascript
Web 开发中Ajax的Session 超时处理方法
2017/01/19 Javascript
搭建简单的nodejs http服务器详解
2017/03/09 NodeJs
JS判断微信扫码的方法
2017/08/07 Javascript
JS设计模式之数据访问对象模式的实例讲解
2017/09/30 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
2018/03/07 Javascript
JavaScript eval()函数定义及使用方法详解
2020/07/07 Javascript
解决antd日期选择组件,添加value就无法点击下一年和下一月问题
2020/10/29 Javascript
js用正则表达式筛选年月日的实例方法
2021/01/04 Javascript
js实现鼠标切换图片(无定时器)
2021/01/27 Javascript
[01:44]Ti10举办地公布
2019/08/25 DOTA
用uWSGI和Nginx部署Flask项目的方法示例
2019/05/05 Python
运用PyTorch动手搭建一个共享单车预测器
2019/08/06 Python
详解如何在cmd命令窗口中搭建简单的python开发环境
2019/08/29 Python
PyTorch实现更新部分网络,其他不更新
2019/12/31 Python
Keras 加载已经训练好的模型进行预测操作
2020/06/17 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
2020/09/23 Python
HTTP状态码详解
2021/03/18 杂记
日本7net购物网:书籍、漫画、杂志、DVD、游戏邮购
2017/02/17 全球购物
英语专业毕业生自荐信
2013/10/28 职场文书
五年级数学教学反思
2014/02/11 职场文书
婚礼主持词开场白
2014/03/13 职场文书
说好普通话圆梦你我他演讲稿
2014/09/21 职场文书
餐厅服务员岗位职责
2015/02/09 职场文书
2015年税务稽查工作总结
2015/05/26 职场文书
小学语文国培研修日志
2015/11/13 职场文书
简述python四种分词工具,盘点哪个更好用?
2021/04/13 Python