当前位置:主页 > python教程 > python获取网页中所有图片并筛选指定分辨率的方法

关于python如何获取网页中所有图片并筛选指定分辨率

发布:2020-01-14 17:22:33 112


给大家整理了python获取图片分辨率方法相关的编程文章,网友莘博明根据主题投稿了本篇教程内容,涉及到python、图片分辨率、分辨率、python获取网页中所有图片并筛选指定分辨率的方法相关内容,已被446网友关注,如果对知识点想更进一步了解可以在下方电子资料中获取。

python获取网页中所有图片并筛选指定分辨率的方法

压测时,图片太少,想着下载网页中的图片,然后过滤指定分辨率,但网页中指定分辨率的图片太少了(见下)
后使用格式工厂转换图片

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获取网页中所有图片并筛选指定分辨率的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。


参考资料

相关文章

  • pygame实现弹球游戏流程

    发布:2023-03-07

    这篇文章主要介绍了pygame实现弹球游戏流程,弹球游戏(Pinball Pro)是安卓手机上排名第一的弹球游戏,真实再现了一直以来最经典的弹珠台游戏的玩法


  • 《Python并行编程参考手册》书评、笔记、下载

    发布:2019-07-11

    在本篇内容里小编给各位分享了关于《Python并行编程参考手册》这本书的书评、学习笔记以及电子书下载的相关内容,有兴趣的朋友们阅读下吧。


  • python数据分析用什么编译器

    python数据分析用什么编译器

    发布:2022-10-21

    给网友朋友们带来一篇关于python的教程,Jupyter Notebook,(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 0多种编程语言。支持实时代码,数学方程,可视化和markdown。 用途包括:数据清理和转换,数值模拟,统计建模,机


  • Python重命名多个文件的实例方法

    发布:2020-02-07

    在Python3中可以使用rename()方法+listdir()方法来重命名多个文件,下面本篇文章就来给介绍使用rename()方法+listdir()方法如何重命名多个文件,希望对大家有所帮助。


  • python字符串内部换行的方法总结

    发布:2019-06-21

    今天小编就为大家分享一篇python中的字符串内部换行方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


  • python如何进行批量图片处理

    发布:2019-08-06

    本文实例讲述了python批量图片处理。分享给大家供大家参考,具体如下: #!/usr/bin/python#coding:utf-8import osfrom PIL import Image#源目录MyPath = C:/Users/Eric/Desktop/python_text/20161214/test_Image/#输出目录OutPath


  • Python实现逐行分割大txt文件示例详解

    发布:2020-01-15

    本文通过代码给大家介绍了Python 逐行分割大txt文件的方法,在文中给大家提到了Python从txt文件中逐行读取数据的方法,需要的朋友参考下吧


  • 基于Python制作个抢红包的工具

    发布:2023-03-03

    快过年了,刚刚收到了两个消息,一个好消息,一个坏消息。好消息就是微信群里有人要发红包,坏消息是不一定能都抢到。所以本文就来用Python做一个抢红包工具,需要的可以参考一下


网友讨论