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 执行字符串表达式函数(eval exec execfile)
Aug 11 Python
深入讨论Python函数的参数的默认值所引发的问题的原因
Mar 30 Python
在主机商的共享服务器上部署Django站点的方法
Jul 22 Python
Python正则表达式使用经典实例
Jun 21 Python
Django自定义分页效果
Jun 27 Python
python实现闹钟定时播放音乐功能
Jan 25 Python
使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
Mar 23 Python
Python实现App自动签到领取积分功能
Sep 29 Python
Django MEDIA的配置及用法详解
Jul 25 Python
python flask web服务实现更换默认端口和IP的方法
Jul 26 Python
Python pygame绘制文字制作滚动文字过程解析
Dec 12 Python
通过实例了解Python str()和repr()的区别
Jan 17 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
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
2011/12/16 PHP
php中fsockopen用法实例
2015/01/05 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
2016/01/11 PHP
PHP简单实现解析xml为数组的方法
2018/05/02 PHP
prettify 代码高亮着色器google出品
2010/12/28 Javascript
js获取日期:昨天今天和明天、后天
2014/06/11 Javascript
js实现div层缓慢收缩与展开的方法
2015/05/11 Javascript
jQuery遍历DOM节点操作之filter()方法详解
2016/04/14 Javascript
5个最顶级jQuery图表类库插件【jquery插件库】
2016/05/05 Javascript
使用vue.js制作分页组件
2016/06/27 Javascript
基于JavaScript实现在新的tab页打开url
2016/08/04 Javascript
JavaScript代码里的判断小结
2016/08/22 Javascript
ECMAscript 变量作用域总结概括
2017/08/18 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
2017/11/27 Javascript
JavaScript继承的特性与实践应用深入详解
2018/12/30 Javascript
vue 表单之通过v-model绑定单选按钮radio
2019/05/13 Javascript
vue单文件组件无法获取$refs的问题
2020/06/24 Javascript
[40:16]TFT vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python语言技巧之三元运算符使用介绍
2013/03/04 Python
python使用BeautifulSoup分页网页中超链接的方法
2015/04/04 Python
Python 3中print函数的使用方法总结
2017/08/08 Python
python 执行文件时额外参数获取的实例
2018/12/18 Python
python实现图片中文字分割效果
2019/07/22 Python
PYTHON如何读取和写入EXCEL里面的数据
2019/10/28 Python
django ajax发送post请求的两种方法
2020/01/05 Python
pandas中的ExcelWriter和ExcelFile的实现方法
2020/04/24 Python
快速创建python 虚拟环境
2020/11/28 Python
html5手机端页面可以向右滑动导致样式受影响的问题
2018/06/20 HTML / CSS
英国Iceland杂货店:网上食品购物
2020/12/16 全球购物
数据库连接池的工作原理
2012/09/26 面试题
应届毕业生自荐信
2014/05/28 职场文书
2015年银行柜员工作总结报告
2015/04/01 职场文书
加班费申请报告
2015/05/15 职场文书
Redis基于Bitmap实现用户签到功能
2021/06/20 Redis
索尼ICF-5900W收音机测评
2022/04/24 无线电