p图片windows系统如何执行Linux批量文件处理图片采集的折腾经历

背景

由于很久之前的某一次在抖音上刷到了一个很赞的,分享海贼王壁纸的up主,后面他也经常更新高质量海贼王壁纸的图集,我觉得很赞,因此想自己全部下载保存下来,所以有了这次图片采集的折腾经历。过程大概就是先从某个渠道采集抖音该UP主的图片资源,然后使用shell脚本处理这些图片的名称和快速导入某个文件夹,最后挑选不好的图片删掉。

后来又想到自己搞一个个人的专属图库p图片,就想到使用python爬虫爬取线上壁纸图片,由于技术问题,爬取的这些图片并不是4K图片,因此又折腾图片AI优化转4K,但转出来的图片有些大p图片,最后就进行尽量的无损压缩,最终得到的图片大小竟然和1K的图片大小差不太多,但图片已经是4K,画质也高了不少。因此想把这个折腾的过程记录一下!

图片获取抖音解析图集

抖音采集使用的抖音采集工具。

下载地址:

aHR0cDovL3Bhbi5xa29uZ3Rhby5jbi8lRTQlQjglQkIlRTclQkQlOTElRTclOUIlOTgvJUU4JUJEJUFGJUU0JUJCJUI2L1BDJUU4JUJEJUFGJUU0JUJCJUI2LyVFNiU4QSU5NiVFOSU5RiVCMyVFOSU4NyU4NyVFOSU5QiU4NiVFNSVCNyVBNSVFNSU4NSVCNy43eg==

这个工具使用很简单,应该稍微看一下就能上手使用了,可以采集某个视频作者的全部作品,包括图集,具体就不多介绍。

另外如果想去水印解析单个作品,则可以使用下面的工具:

工具一

工具二

抖音采集后的目录大概是这样子

每个图集作品的结构如下

图片整理(Linux批量文件处理)

这样就会有一个问题,好几十个图集文件夹,里面图片的名称全部都是01.webp ~ 13.webp,如果放在同一个文件夹里面就会文件名冲突。

因此需要一个方法可以快速将文件重命名,并且全部移入一个总的文件夹里面。

作为程序员,我第一个想到的肯定是使用linux命令,通过写一个脚本就可以很轻松的实现这样的功能:

脚本具体如下:

#! /bin/bash
mkdir all

黎明杀机图片p四个人图片_p图片_已知p a p b p c

#mkdir mp3 #mv ./图集*/* .mp3. /mp3/ oldIFS=$IFS IFS=$'\n' for file in `ls ./图集*/*` do i=`date +%s%N`; newFile=`echo ./all/${i}.jpg`; mv $file $newFile done IFS=$oldIFS

windows系统如何执行Linux脚本呢?

可以使用 git bash here,条件就是得先安装git啦

其实也可以使用编写.bat脚本或者编写python脚本来实现同样的功能。但我作为一个后端程序员,最熟悉的还是Linux脚本。

爬虫

该方法主要是通过观察图片网站上获取图片的规律,根据原网站拼接出具体图片的url,然后保存图片文件。

爬虫的方法网上很多,贴一个亲试可用的代码:

import asyncio
import re
import aiohttp
import logging
import os

# 定义日志文件
logging.basicConfig(level=logging.INFO,format="%(asctime)s-%(levelname)s:%(message)s")
# 定义初始页的url
INDEX_URL = "http://pic.netbian.com/4kdongman/index_{page}.html"
# 定义详情页的url
DETAIL_URL = "http://pic.netbian.com{id}.html"
# 定义壁纸的初始url
IMG_URL = 'http://pic.netbian.com{img_url}'
# 定义将要爬取的页数
PAGE_NUMBER = 147
# 定义爬取的信号量
CONCURRENCY = 5
# 构造存储壁纸的路径
PATH = "D:\img"
if not os.path.exists(PATH):
    os.mkdir(PATH)
# 初始化信号量
semaphore = asyncio.Semaphore(CONCURRENCY)
session = None

已知p a p b p c_p图片_黎明杀机图片p四个人图片

# 此函数的功能是定义一个基本的抓取方法,传入url即可返回网页的源代码 async def scrape_api(url): async with semaphore: try: logging.info('scraping %s',url) async with session.get(url) as response: return await response.text() except aiohttp.ClientError: logging.error('error occurred while scraping %s',url,exc_info=True) # 此函数的功能是构造初始页的url async def scrape_index(page): url = INDEX_URL.format(page=page) return await scrape_api(url) # 此函数的功能是定义详情页的url,并解析详情页,拿到img的url和名字 async def scrape_detail(id): url = DETAIL_URL.format(id=id) data = await scrape_api(url) IMG = re.search('

该方法获取的图片好像不是4K高清的,只有1K的清晰度

可以使用下面提供的方法,现将图片转4K,然后再无损压缩一下,就可以得到一个质量比较高的图片了。

添加微信

转载原创文章请注明,转载自设计培训_平面设计_品牌设计_美工学习_视觉设计_小白UI设计师,原文地址:https://www.zfbbb.com/?id=9644

上一篇:photoshop官方下载你敢信官方居然良心地开发了官方免费版?!

下一篇:ps教程免费下载avi全集下载《》小说简介83.85MB18打造绚丽夜景