什么?GitHub Action 还能用来免费全自动下载漫画

pica-cli

😉 BIKA 漫画下载器

Node + TS + + Inquirer + Vitest + Rollup + ESBuild

  • 交互式命令行
  • 排行榜:下载当前排行榜的全部漫画
  • 收藏夹:下载当前用户收藏夹的全部漫画
  • 关键词搜索:支持多选
  • 自动过滤已下载的章节和图片,不会重复下载
  • 如果没有相关环境变量,则启动交互命令界面;若有则直接执行
  • 通过 pica-zip 命令分章节批量压缩,配合支持 zip 包的漫画阅读软件使用,比如 Perfect Viewer。不限于 pica-cli 下载的漫画使用,只要符合 cmoics/漫画标题/漫画章节/漫画图片 的目录结构即可。
  • 借助 github action 实现飞速下载,支持从 github artifact 和 file.io 两种方式下载完整漫画包。file.io 无需注册,无需科学上网,文件保存两周,单文件最大 2GB,注意链接只能下载一次,下载后文件会自动删除

用法

方式一:GitHub Action(推荐)

白嫖 github 的免费服务器算力,最关键的是不用科学上网,网速飞快,孩子用了都说好。

bash 复制代码
# 必填,固定值,不要修改
# ~d}$Q7$eIni=V)9\RK/P.RM4;9[7|@/CA}b~OW!3?EV`:<>M7pddUBL5n|0/*Cn
PICA_SECRET_KEY
# 必填,账号名
PICA_ACCOUNT
# 必填,账号密码
PICA_PASSWORD

fork 一份本仓库,将上面三个环境变量,设置为仓库密钥:

然后点击 Actions,再点击左侧的 task 工作流,再点击右侧的 Run workflow,输入相关的信息,点击运行。

github action 真是太方便了,借助 inputs 完全可以把他当做一个小应用网站。

等执行完之后,进入详情,在最下方有漫画的完整压缩包,下载即可。

点击 job 详情查看日志,可以看到 file.io 的下载地址:

如果你想自定义过程,请自行修改 .github/workflows/task.yml

方式二:直接安装

bash 复制代码
pnpm add pica-cli -g

在自己电脑上配置好环境变量,所需的环境变量如下所示:

bash 复制代码
# 必填,固定值,不要修改
PICA_SECRET_KEY=~d}$Q7$eIni=V)9\RK/P.RM4;9[7|@/CA}b~OW!3?EV`:<>M7pddUBL5n|0/*Cn
# 必填,账号名
PICA_ACCOUNT=
# 必填,账号密码
PICA_PASSWORD=
# 代理地址,示例:http://127.0.0.1:7890
PICA_PROXY=
# 下载图片的并发数,默认 5
PICA_DL_CONCURRENCY=5
# leaderboard | favorites | search
# 下载内容,分别表示:排行榜 | 收藏夹 | 搜索
PICA_DL_CONTENT=
# 搜索关键字,多个用 # 隔开
# 尽量输入完整漫画名,避免返回过多结果
PICA_DL_SEARCH_KEYWORDS=
bash 复制代码
# 运行
pica-cli

# 漫画下好后,生成 zip
pica-zip

如果用的开心,求个 star 支持一下,比心 ~ ❤️

开发

bash 复制代码
git clone https://github.com/justorez/pica-cli.git

拷贝一份 .env.template,命名为 .env.local,填写好后就不用设置环境变量了,配置优先从 .env.local 里加载。

bash 复制代码
# 安装依赖
pnpm install

# 运行
pnpm dev

# 漫画打压缩包
pnpm dev:zip

BIKA API 文档(非官方)

更新日志

  • 2024/01/31 github action 同时将漫画包上传到 file.io
  • 2024/01/30 提供 github action 的下载方式
  • 2024/01/29 下载完成后,提供命令把漫画按章节批量压缩
  • 2024/01/28 完成基本功能

其他

代码参考了 pica_crawler,本来是想添加新功能,奈何 Python 早就忘光了,只好重写一个。

相关推荐
人工智能训练2 小时前
【极速部署】Ubuntu24.04+CUDA13.0 玩转 VLLM 0.15.0:预编译 Wheel 包 GPU 版安装全攻略
运维·前端·人工智能·python·ai编程·cuda·vllm
会跑的葫芦怪3 小时前
若依Vue 项目多子路径配置
前端·javascript·vue.js
xiaoqi9224 小时前
React Native鸿蒙跨平台如何进行狗狗领养中心,实现基于唯一标识的事件透传方式是移动端列表开发的通用规范
javascript·react native·react.js·ecmascript·harmonyos
jin1233224 小时前
React Native鸿蒙跨平台剧本杀组队消息与快捷入口组件,包含消息列表展示、快捷入口管理、快捷操作触发和消息详情预览四大核心功能
javascript·react native·react.js·ecmascript·harmonyos
烬头88216 小时前
React Native鸿蒙跨平台实现二维码联系人APP(QRCodeContactApp)
javascript·react native·react.js·ecmascript·harmonyos
pas1366 小时前
40-mini-vue 实现三种联合类型
前端·javascript·vue.js
摇滚侠6 小时前
2 小时快速入门 ES6 基础视频教程
前端·ecmascript·es6
2601_949833396 小时前
flutter_for_openharmony口腔护理app实战+预约管理实现
android·javascript·flutter
珑墨6 小时前
【Turbo】使用介绍
前端
军军君017 小时前
Three.js基础功能学习十三:太阳系实例上
前端·javascript·vue.js·学习·3d·前端框架·three