PixivCollection 项目相关脚本
简要的使用教程
- 爬取图片(推荐使用 Powerful Pixiv Downloader 浏览器拓展)并按照
[pid]_p[part].[ext]命名,放置于image/original目录下- 如图片较少可跳过此步,直接使用本脚本爬取图片
- 下载或克隆本项目,安装 Python (开发环境为 Python 3.11)与相关依赖(pip install -r requirements.txt)
- 获取 Pixiv 账号的 refresh token,具体步骤请参照 Pixiv OAuth Flow 或 Pixiv OAuth Flow (with Selenium)
- 将
USER_ID和REFRESH_TOKEN填入example.py的对应位置 - 执行
python example.py
脚本默认会进行以下操作:
- 检查 refresh token 是否可用
- 读取
collection.json中的数据 - 获取用户公开收藏图片和不公开收藏图片各自的前两页,下载不存在于本地的图片
- 检测本地文件变动
- 获取新增图片的信息
- 在
image/preview目录下生成 WebP 格式预览图(尺寸不大于 2000*2000,质量 80) - 在
image/thumbnail目录下生成 WebP 格式缩略图(尺寸不大于 500*1000,质量 70) - 将数据保存到
collection.json文件 - 导出可用于 PixivCollection 的数据到
images.json文件
以下为数据格式的 TS 定义,数据以 JSON 数组保存
interface Tag {
name: string
translated_name: string | null
}
interface Image {
id: number
part: number
title: string
size: [number, number]
ext: string
author: {
id: number
name: string
account: string
}
tags: Tag[]
created_at: string
sanity_level: number
x_restrict: number
bookmark: number
view: number
dominant_color: string
}