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实现的百度站长自动URL提交小工具
Jun 27 Python
python中利用Future对象回调别的函数示例代码
Sep 07 Python
Python3 中文文件读写方法
Jan 23 Python
python utc datetime转换为时间戳的方法
Jan 15 Python
python抓取需要扫微信登陆页面
Apr 29 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
May 31 Python
anaconda如何查看并管理python环境
Jul 05 Python
Django 开发环境配置过程详解
Jul 18 Python
np.random.seed() 的使用详解
Jan 14 Python
解决pytorch多GPU训练保存的模型,在单GPU环境下加载出错问题
Jun 23 Python
python 实现学生信息管理系统的示例
Nov 28 Python
python中requests库+xpath+lxml简单使用
Apr 29 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 论坛采集程序 模拟登陆,抓取页面 实现代码
2009/07/09 PHP
php 引用(&)详解
2009/11/20 PHP
Yii结合CKEditor实现图片上传功能
2014/06/13 PHP
9个实用的PHP代码片段分享
2015/01/22 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
2015/04/14 PHP
php从文件夹随机读取文件的方法
2015/06/01 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
2015/12/18 PHP
php自定义截取中文字符串-utf8版
2017/02/27 PHP
网页编辑器ckeditor和ckfinder配置步骤分享
2012/05/24 Javascript
jQuery基于图层模仿五星星评价功能的方法
2015/05/07 Javascript
基于canvas实现的钟摆效果完整实例
2016/01/26 Javascript
js 判断各种数据类型的简单方法(推荐)
2016/08/29 Javascript
防止重复发送 Ajax 请求
2017/02/15 Javascript
关于angular js_$watch监控属性和对象详解
2017/04/24 Javascript
bootstrap警告框示例代码分享
2017/05/17 Javascript
微信、QQ、微博、Safari中使用js唤起App
2018/01/24 Javascript
Layui动态生成select下拉选择框不显示的解决方法
2019/09/24 Javascript
Vue实现验证码功能
2019/12/03 Javascript
VUE中setTimeout和setInterval自动销毁案例
2020/09/07 Javascript
详解Python中time()方法的使用的教程
2015/05/22 Python
在Python的Django框架的视图中使用Session的方法
2015/07/23 Python
python3监控CentOS磁盘空间脚本
2018/06/21 Python
python 字典中取值的两种方法小结
2018/08/02 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
2019/01/30 Python
python多任务之协程的使用详解
2019/08/26 Python
Django框架安装方法图文详解
2019/11/04 Python
基于python traceback实现异常的获取与处理
2019/12/13 Python
判断Threading.start新线程是否执行完毕的实例
2020/05/02 Python
Opencv python 图片生成视频的方法示例
2020/11/18 Python
pycharm中leetcode插件使用图文详解
2020/12/07 Python
CheapTickets香港机票预订网站:CheapTickets.hk
2019/06/26 全球购物
美术国培研修感言
2014/02/12 职场文书
11月升旗仪式讲话稿
2014/02/15 职场文书
工程专业求职自荐书范文
2014/02/18 职场文书
船舶工程技术专业求职信
2014/08/07 职场文书
煤矿隐患排查制度
2015/08/05 职场文书