pixiv原图识别与下载工具: pixiv插画识别与下载工具,也算是一只爬虫 ( ) 。 使用SauceNAO网站的api识别已有的插画,并提供下载功能。 也可以根据作品id直接下载高清图。 SauceNAO网站的api需前往官网用户页(https://saucenao.com/user.php)自行注册获取

您所在的位置:网站首页 网页pixiv怎么保存原图 pixiv原图识别与下载工具: pixiv插画识别与下载工具,也算是一只爬虫 ( ) 。 使用SauceNAO网站的api识别已有的插画,并提供下载功能。 也可以根据作品id直接下载高清图。 SauceNAO网站的api需前往官网用户页(https://saucenao.com/user.php)自行注册获取

pixiv原图识别与下载工具: pixiv插画识别与下载工具,也算是一只爬虫 ( ) 。 使用SauceNAO网站的api识别已有的插画,并提供下载功能。 也可以根据作品id直接下载高清图。 SauceNAO网站的api需前往官网用户页(https://saucenao.com/user.php)自行注册获取

2023-11-09 01:36| 来源: 网络整理| 查看: 265

pixiv插画识别与下载工具

作者:DG_JiuYuan

Gitee网址:https://gitee.com/dugu-jiuyuan/pixiv-identify-and-download-tool

一、简介

pixiv插画识别与下载工具。

使用SauceNAO网站的api识别已有的插画,并提供下载功能。 也可以根据作品id直接下载高清图。SauceNAO 网站的api需前往官网用户页https://saucenao.com/user.php 自行注册获取。

随便写的,主要是为了 给手机相册中的几百张涩图升级画质 练习使用requests库, 同时验证了xp是第二生产力的道理 。

二、文件结构

main.py:提供一个命令行控制窗口

pixiv_tool.py:根据作品id下载原图的工具

SAO_tool.py:调用 SauceNAO api

webtool.py:存储SauceNAO的api_key与浏览器的Headers文件

pixiv_list_js.txt:识别工程文件夹中图片的信息后将其存储在这个文件中

工程文件夹:待提升画质的图片放在这个文件夹里,可能需要手动新建(与main.py在同一级目录)

pixiv原图:下载好的图片将被存储在这里

三、包含的模块

urllib3、requests、PIL、codecs、collections等。

提示缺少哪个就pip哪个。

四、工作模式介绍 1.全自动模式

逐一读取工程文件夹中图片并调用SauceNAO_api识别原图信息并下载原图

优点:一键运行,不需要管任何事情。

缺点:由于SauceNAO网站与pixiv网站连接可能不够稳定,因此一旦出现网络波动会报错并被终止下载。

适用于图片较少、网络连接较好的情况。

2.半自动模式

读取工程文件夹中的图片,先用SauceNAO_api识别原图信息并存储在pixiv_list_js.txt文件中,再根据pixiv_list_js.txt文件从pixiv官网下载原图。如果在上一次的操作中已经识别过原图信息,可以跳过调用api的步骤,直接下载原图。

优点:分两步进行,一旦出现网站连接异常的问题时有补救措施。

缺点:需要分两次完成

适用于图片量较大,连接不太稳定的情况

3.手动模式

手动输入工程文件夹中的完整图片名(xxx.jpg或xxx.png),调用SauceNAO_api识别图片信息并从pixiv官网下载。

如果已知图片id的话,也可以直接输入图片id下载原图。

五、使用方法

登录 SauceNAO User Config 界面,获取你的 api_key。

在 main.py 文件所在的文件夹中,新建文件夹并命名为“工程文件夹”。

运行 main.py 文件,输入你的 api_key 。

选择工作模式,根据指示操作即可。

六、其他问题

其他问题

后续可能会使用tkinter模块开发一个可视化交互窗口,也可能会发布一个打包的exe的,也可能鸽了。

后续可能将原图下载连接改到国内的镜像站,也可能鸽了。

可能会录教学视频,也可能鸽了

附录:各文件与模块的说明 pixiv_tool.py 1.功能

根据作品id下载原图的工具,也包含了文件操作工具

2. Pixiv_Picture 类 class Pixiv_Picture #pixiv图片类 #name : 图片名 #pid : 图片id #url : 图片的首页网址,格式为"https://www.pixiv.net/artworks/pid” #picurls : 原图网址,格式为"https://i.pximg.net/img-original/img/time/pid_pn.jpg" #r : requests.pull得到的信息 #headers : requests库虚拟的浏览器信息,默认为webtool.MY_HSADERS,可以在webtool.py修改 #result : 是否成功下载,True/False #实例化一个对象 pp = Pixiv_Picture(pid = "67994735",name = "67994735.jpg") #name : 图片名 #pid : 图片id pp.get_pixivpic_url() #获取并打印原图的网址 pp.download() #下载原图,并保存在"pixiv"原图文件夹 3. Pixiv_Piclist 类 class Pixiv_Piclist #pixiv图片列表 #piclist : 全部的图片信息 #thislist : 本次读取的图片信息 #实例化一个对象 ppl = Pixiv_Piclist() ppl.writelist(piclist = piclist) #将已经识别的图片信息以json形式写入“pixiv_list_js.txt”文件中 #piclist : 一个列表,其成员为由 SauceNAO_Picture.__dict__ 方法获取的字典 thislist = ppl.readlist(num = n) #读取“pixiv_list_js.txt”,将图片信息存储在self.piclist #将第n张图片之后的图片的信息存储在self.thislist #返回self.thislist ppl.printwholelist() #打印self.piclist ppl.printhislist() #打印self.thislist SAO_tool.py 1.功能

使用 SauceNAO 工具查找文件夹“工程文件夹”中的图片作者、图片id等信息。

魔改自官方示例程序:https://saucenao.com/tools/examples/api/identify_images_v1.1.py

2. SauceNAO_Picture 类: class SauceNAO_Picture #SauceNAO图片类 #pic_name : 图片名 #pic_addr : 图片地址 #service_name: 原图所在服务器(pixiv,nico nico等) #member_id : 作者id #illust_id : 作品id #page_string : 如果是系列图片的话,这张图的序号 #result : 是否成功查询,True或False #实例化为一个对象 sp = SauceNAO_Picture(pic_name = "0.jpg", pic_addr = "工程文件夹\\0.jpg") #pic_name : 文件名 #pic_addr : 文件路径 sp.print_saucenao_picture() #输出这张图片的名称、地址、画师与作品id等信息 sp.find_saucenao() #调用SauceNAO_api,查找这张图片的画师、id等信息 webtool.py

webtool.py:存储SauceNAO的api_key与浏览器的Headers文件

MY_HEADERS = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.46", 'Referer': 'https://www.pixiv.net/' } #requests库虚拟的浏览器信息,在浏览器界面按F12获取,具体方法网上教程较多,不予赘述 api_key = "" #SauceNAO api_key,从 https://saucenao.com/user.php?page=search-api 中获取,在启动程序时输入


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3