Python学习 —— 批量删除错误图片

Posted darkchii

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习 —— 批量删除错误图片相关的知识,希望对你有一定的参考价值。

前言

  emmm...最近都在玩爬虫,但效果并不怎么样...可能是我选择的难度有点高,所以好多坑...

  今天在研究爬取Pixiv上的排行榜图片,本来是打算爬自己关注的所有画师的作品的...但还是从简单一些的开始比较好,爬Pixiv的图片让我遇到了许多问题,第一个就是反爬虫机制,第二就是图片的格式处理...等等还有一些其他小问题。

主题

  因为代码的算法限制的原因,所以爬取的一些图片发生了错误,看着一张好看的图片,一张错误的图片混在一起很难受,于是写了一个脚本来进行批量删除错误的图片。

  代码如下:

import os

for name in range(1,150):
    with open(‘C:\\Users\\adimin\\Desktop\\Pixiv_Img\\{}.png‘ .format(str(name)), ‘rb‘) as fp:
        data = fp.read()
    if(len(data) == 58):  # 查看一下错误图片的信息,看到错误图片的大小都是58byte,占用空间0KB
        os.remove(‘C:\\Users\\adimin\\Desktop\\Pixiv_Img\\{}.png‘ .format(str(name)))  # 移除文件
    else:
        pass
    fp.close()

  代码没考虑太多,主要是为了直接的解决问题,所以,可以看出代码的针对性很高,但基本思路也就是这样,然后,重点就是用到了os.remove的系统函数。

  但要删除所有重复图片的话,类似这样的算法肯定是行不通的,得用到图像识别的算法...然而,暂时并不会,所以,慢慢学习!

  总之...很简单的小程序,嘛,对解决自己的这个问题来说还是挺实用的。

  

以上是关于Python学习 —— 批量删除错误图片的主要内容,如果未能解决你的问题,请参考以下文章

如何批量删除文件名中的一段?

Python批量修改图片格式和尺寸

python爬虫,一段完整的python爬虫批量下载网站图片资源的代码

学习 PyQt5。在我的代码片段中找不到错误 [关闭]

python脚本,批量删除文件或文件夹中特定字符

Python批量检测图片中的人脸并制作数据集(Dlib)