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版微信红包分配算法
May 04 Python
Python语言的面相对象编程方式初步学习
Mar 12 Python
python3.5 tkinter实现页面跳转
Jan 30 Python
python中利用h5py模块读取h5文件中的主键方法
Jun 05 Python
基于OpenCV python3实现证件照换背景的方法
Mar 22 Python
python字典改变value值方法总结
Jun 21 Python
Windows下pycharm创建Django 项目(虚拟环境)过程解析
Sep 16 Python
python 实现矩阵填充0的例子
Nov 29 Python
Python使用进程Process模块管理资源
Mar 05 Python
django实现日志按日期分割
May 21 Python
Python tempfile模块生成临时文件和临时目录
Sep 30 Python
python和Appium的移动端多设备自动化测试框架
Apr 26 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中ob(Output Buffer 输出缓冲)函数使用方法
2007/07/21 PHP
无JS,完全php面向过程数据分页实现代码
2012/08/27 PHP
PHP中explode函数和split函数的区别小结
2016/08/24 PHP
Redis在Laravel项目中的应用实例详解
2017/08/11 PHP
基于JQuery的多标签实现代码
2012/09/19 Javascript
3分钟写出来的Jquery版checkbox全选反选功能
2013/10/23 Javascript
JS实现一键回顶功能示例代码
2013/10/28 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
GitHub上一些实用的JavaScript的文件压缩解压缩库推荐
2016/03/13 Javascript
原生js实现选项卡功能
2017/03/08 Javascript
bootstrap table服务端实现分页效果
2017/08/10 Javascript
JavaScript数组的5种迭代方法
2017/09/29 Javascript
详解vue移动端项目的适配(以mint-ui为例)
2018/08/17 Javascript
jQuery实现的点击显示隐藏下拉菜单功能完整示例
2019/05/17 jQuery
TypeScript类型声明书写详解
2019/08/28 Javascript
JSON 入门教程基础篇 json入门学习笔记
2020/09/22 Javascript
[07:08]2014DOTA2西雅图国际邀请赛 小组赛7月11日TOPPLAY
2014/07/11 DOTA
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
2017/07/06 Python
django实现登录时候输入密码错误5次锁定用户十分钟
2017/11/05 Python
学习Python3 Dlib19.7进行人脸面部识别
2018/01/24 Python
Python对象中__del__方法起作用的条件详解
2018/11/01 Python
Flask项目中实现短信验证码和邮箱验证码功能
2019/12/05 Python
Django自定义全局403、404、500错误页面的示例代码
2020/03/08 Python
canvas需要在标签里直接定义宽高
2014/12/17 HTML / CSS
澳大利亚在线划船、露营和钓鱼商店:BCF Australia
2020/03/22 全球购物
介绍一下write命令
2014/08/10 面试题
致标枪运动员加油稿
2014/02/15 职场文书
升学宴主持词
2014/04/02 职场文书
优秀教师感人事迹材料
2014/05/04 职场文书
入党推优材料
2014/06/02 职场文书
乡镇干部党的群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
购房委托书
2014/10/15 职场文书
销售员工作检讨书(推荐篇)
2014/10/18 职场文书
2014年培训工作总结范文
2014/11/27 职场文书
2016年妇联“6﹒26国际禁毒日”宣传活动总结
2016/04/05 职场文书
在python中实现导入一个需要传参的模块
2021/05/12 Python