美女图片整理【异常图片】

由于爬虫比较多,有的爬虫在下载的时候没有处理网络问题或者图片本山链接错误导致的图片异常。有的是处理了的,不要问为什么没加异常检测,问就是懒。

下载的图片会出现下面的问题,其实预览的时候就会发下问题了,另外打开这个图片其实会显示404或者502之类的错误页面。所以写了一段处理代码,主要两个功能:

1.删除小文件,至于多小自己去调整代码
2.如果目录下所有的文件都有问题,删除文件后同时删除目录

错误图片效果:

自动清理之后效果:

代码如下:

# 妹子图整理工具 by obaby
# http://h4ck.org.cn
# http://nai.dog
# 按 Shift+F10 执行或将其替换为您的代码。
# 按 双击 Shift 在所有地方搜索类、文件、工具窗口、操作和设置。
import os
from pathlib import Path
import hashlib
import shutil
from pyfiglet import Figlet

source_file_paths = [
    Path(r'I:\iknmv'),
]

dest_file_path = Path('I:\Beauty_Images')




def print_hack():
    print('*' * 100)
    # f = Figlet(font='slant')
    f = Figlet()
    print(f.renderText('obaby@mars'))
    print('美女图片清理工具 V1.0')
    print('Verson: 23.03.14')
    print('Blog: http://www.h4ck.org.cn')
    print('      http://nai.dog')
    print('*' * 100)

def check_empty_by_scandir(path):
    with os.scandir(path) as it:
        return not any(it)

def clean_images_in_dir(p):
    global done_paths
    print('=' * 200)
    print('[M] 开始复制目录' + p.name + ' ......')
    for dir in p.iterdir():

        for img in dir.glob('*.*'):
            # print(img)
            # 处理小于100k文件
            if int(img.stat().st_size) < 10000:
                # image_name = img.name
                # shutil.delete(img)
                try:
                    img.unlink()
                except :
                    pass
                print('[*]' + img.name + ' 已经删除')

        print('[*]' + dir.name + ' 目录清理完成')
        print('-' * 200)
        if check_empty_by_scandir(dir):
            try:
                dir.rmdir()
            except :
                pass

# 按间距中的绿色按钮以运行脚本。
if __name__ == '__main__':
    print_hack()
    # append_done_paths('c/dir')
    # done_list = get_done_paths()
    # print(done_list)
    # test_path = Path(r'G:\秀人集')
    # tp = Path(r'G:\秀人集\[XINGYAN星颜社]VOL.154_女神王雨纯脱深色日式和服露性感白色内衣配超薄肉丝诱惑写真82P')
    # print(tp.name)
    # ml = get_image_md5_in_path(Path(r'G:\秀人集\[XINGYAN星颜社]VOL.154_女神王雨纯脱深色日式和服露性感白色内衣配超薄肉丝诱惑写真82P'))
    # print(ml)
    print('*' * 100)
    print('[S] 开始处理图片:')
    for p in source_file_paths:
        clean_images_in_dir(p)

    print('[D] 所有目录完成清理。请欣赏图片吧。')
    print('*' * 100)

 

 

 


分享文章:

猜你喜欢:

27 comments

    1. Google Chrome Google Chrome Mac Mac China山东省 移动 ip address 223.99.*.*

      原来有个2T的硬盘塞满了,有加了一块4T的硬盘专门用来下东西~~ kiss

        1. Google Chrome Google Chrome Mac Mac China山东省 移动 ip address 223.99.*.*

          说实话呢,就是看不完啊,实在太多了,收集了很多。嘿嘿,不过看图也是一项体力活~~~

    1. Google Chrome Google Chrome Mac Mac China山东省 移动 ip address 223.99.*.*

      杜老师可以开多进程啊,-r参数可以随机重排分类。如果网络好的话,开8个进程两三天就下载完了~~

        1. Google Chrome Google Chrome Windows Windows China山东省青岛市 联通 ip address 112.255.*.*

          酱紫,你用的那个爬虫啊,我给你打包一个群辉的版本。

                1. Google Chrome Google Chrome Mac Mac China山东省青岛市 联通 ip address 27.223.*.*

                  晚上我再试试,不行就直接发源码,python跑吧。啊哈哈哈

            1. Google Chrome Google Chrome Windows Windows China山东省青岛市 联通 ip address 112.255.*.*

              你的群辉是x86架构的还是arm架构的?跑虚拟机,我猜应该是x86架构的~~

            2. Google Chrome Google Chrome Windows Windows China山东省青岛市 联通 ip address 112.255.*.*

              编译了一下,问题太多了。哈哈哈。群辉下面的命令行工具缺失,各种错误,跑不起来

  1. Google Chrome Google Chrome Windows Windows China安徽省合肥市巢湖市 电信 ip address 114.106.*.*

    问题是异常图片怎么补齐。。 mail

    1. Google Chrome Google Chrome Mac Mac China山东省青岛市 联通 ip address 27.223.*.*

      补齐不了啊,因为不是网络超时导致的。你去访问下那个图片链接看看不就知道了?直接返回的服务器错误,怎么补齐?也不能无中生有啊。当然如果其他的图片站也有这套图,可以去其他的图片展下载。这样倒是能补齐一部分。

  2. Firefox Firefox Windows Windows 美国 ip address 104.194.*.*

    下载那么多小姐姐照片, 也不及姐姐万分之一美呢.

      1. Firefox Firefox Windows Windows 美国 ip address 104.194.*.*

        不嘛,不嘛,伦家就要.姐姐多美呀 kiss 那些人都比不上姐姐让我心动…尤其是”职业女性”.

        好啦, 姐姐,我吃饭去啦, 拜拜. 下次见.

    1. Google Chrome Google Chrome Android Android China山东省青岛市 联通 ip address 112.255.*.*

      只能发图片哦,发不了真人。我也想要真人呢。 cool

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注