我写了个 Pixiv 批量下载工具,从此收图不用一张张右键

我写了个 Pixiv 批量下载工具,从此收图不用一张张右键
琴叶起因:收图太累了 😮💨
经常逛 Pixiv 的朋友大概都有体会:看到喜欢的插画想存下来,得先点进作品页、再点开原图、再右键保存。一两张还好,碰上一个作者几百张作品、或者想把某个排行榜整批存下来,纯手工就很折磨了。
更麻烦的是网页版的防盗链——直接复制图片链接下下来,多半是一张裂图。所以我干脆写了个桌面工具 pivixAutoTool,把”搜索 → 预览 → 批量下载”这条链路一次打通。
功能一览
一句话概括:搜 Pixiv 作品、在线预览、批量下载原图。它提供了六个检索入口,覆盖大部分找图场景:
- 按作者名:输入作者名,列出候选作者,点选后加载其全部作品;
- 按作者 ID(UID):已知 UID 时直接定位到该作者;
- 按关键词 / 标签:检索相关插画;
- 按作品 ID:精确定位单张作品;
- 排行榜:直接浏览日榜、周榜等热门作品;
- 个人收藏:登录后拉取并下载自己收藏夹里的作品。
检索结果以网格缩略图呈现,可单选、也可整页全选,选好后加入下载队列。下载与检索互不阻塞——下载在后台进行的同时,你可以继续翻找、继续加任务。
另外几个实用功能:
- 🔞 R18 过滤:可在”全部 / 隐藏 R18 / 只看 R18”间切换。(能否看到 R18 取决于你账号自身的设置,工具无法绕过 Pixiv 服务器端的年龄限制。)
- 🎞️ 动图转 GIF:Pixiv 的 ugoira 动图会自动合成为 GIF,无需另找工具。
- 📁 历史记录:记录每次下载,可随时打开对应文件夹或一键清理。
- 🔑 一键登录:内置原生 Pixiv 登录窗口,登录后自动捕获 cookie,后续访问收藏、会员内容无需重复登录。
三个技术点,讲清楚原理 🤓
防盗链是怎么绕过去的
Pixiv 的图片服务器会校验请求头里的 Referer:如果请求不是来自它自己的站点,就返回一张裂图。桌面工具的优势在于,我们可以在发请求时手动带上正确的 Referer,让服务器认为这是站内的正常访问,图片自然就能取到。这也解释了为什么网页里直接复制链接不行、而工具可以——差别只在这一个请求头。
断点续传
批量下几百张、或者单张大图时,中途断网很正常。工具下载时先写入一个 .part 临时文件,并记录已下载的字节数;重连后,用 HTTP 的 Range 请求头告诉服务器”从第几个字节继续”,而不是从头重下。整张下载完成后,再把 .part 重命名为正式文件。
为什么要分三层:Electron 的进程模型
工具基于 Electron + React + Vite。Electron 简单说就是”用网页技术写桌面应用”,内部分成三层、各司其职:
- 主进程(Node):负责重活——网络请求、文件读写等系统操作;
- 预加载层(preload):一道安全隔离带,渲染层不能直接调用系统 API,只能通过它暴露的受限接口通信;
- 渲染层(React):也就是你看到的界面。
这样分层是出于安全考虑:界面代码即使出问题,也无法越过预加载层直接操作你的系统。这是 Electron 应用的标准做法,不是多此一举。
安装与使用
想直接用的话,等我打好包发出来,下载 Windows 安装包安装即可。
想跑源码 / 二次开发:
1 | # 安装依赖 |
使用流程:登录 → 选择检索方式 → 输入内容 → 网格中挑选 → 下载到默认或自定义目录。
写在最后
这工具纯粹是我自己收图收烦了的产物,能帮到有同样困扰的人就更好。⚠️ 也提醒一句:下载的作品请尊重作者版权,自己欣赏就好,不要随意传播、更不要商用。
有想法或遇到 bug,欢迎去仓库开 issue~ 🌿







