feilongproject / FLImageCollect

二次元图站爬虫的 TypeScript 实现,图站包括 sankaku 等(未来会支持更多图站)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FLImageCollect(FLIC)

二次元图站爬虫的 TypeScript 实现,目前图站包括 sankaku kemono manhuagui(未来会支持更多图站)
在写了在写了
我好懒我好懒我好懒我好懒我好懒我好懒我好懒我好懒我好懒我好懒我好懒

项目概况

本项目使用CLI与用户进行信息交互,通过指令方式实现具体功能

指令类型

指令可分为全局指令图站指令

  • 全局指令为最优先等级的指令, 任何图站指令与之重叠的均会被判无效
  • 图站指令为次要指令, 内置在各个图站插件中, 由全局指令作为引导接入, 内部自行处理

代码类型

项目所有代码可分为四个部分(注意全部均在src文件下)

  • 初始化文件(init.ts) 在用户交互界面创建前运行, 执行各种初始化(如redis数据库连接, 插件指令文件热加载初始化等)
  • 主程序文件(index.ts) 进行指令搜索与指令处理之间的衔接
  • 插件(plugins文件夹下所有文件) 所有指令的入口, 包括图站爬虫核心文件与全局设置, 均已实现热加载功能
  • 依赖(lib文件夹下所有文件) 插件中所用到的API等内容的实现, 以及常用函数(如sleep等)

使用方法

注意: 使用前请确认redis数据库被正常启用, 否则将无法使用脚本

所有以<>包裹的内容为必填内容, 以[]包裹的内容为选填内容, 包裹的内容为小写时则代表有无均对指令无影响, 介绍时以包裹的内容为代称, 使用时只需填入对应的内容, 无需包裹的符号(<>[])

全局设置

设置代理

注意: 此命令设置的为socks代理, 并非http

指令: p[ort] <PORT> [IP]
介绍:

  • PORT内容为代理所需端口
  • IP为空时, 代理所使用的地址默认为本地地址(127.0.0.1)
  • IP不为空时, 代理所使用的地址为IP中内容
  • 特别的: 当IP中内容为0时, 将会取消使用代理

例:

指令 解释
p 10808 使用地址127.0.0.1端口10808作为代理
p 192.168.1.5 10808 使用地址192.168.1.5端口10808作为代理
p 0 取消使用代理

切换站点

指令: c[hange] <SITE>
介绍:

  • SITE为选择的站点, 使用时可以使用首字母, 也可使用完整名称
  • 可用站点在config/opts.jsonsite中以数组方式存储. 其中的name为站点完整名称, db为站点所使用的数据库数字编号
  • 使用后只能更改选择, 不可取消

例:

指令 解释
c k 切换站点到kemono
change kemono 切换站点到kemono
c m 切换站点到manhuagui
change manhuagui 切换站点到manhuagui

退出

指令: exitquit
介绍:

  • 退出程序, 并保存数据库

站点爬取设置

注意: 此处文档尚未完成

kemono站点

注意: 此时命令有三种状态: 下载/校验/重命名, 但SITEUID为必选,分别代表画师所代表的站点名称与画师id, 指令的可用性见下表

状态 可用性(每栏首行是可用指令,其余为解释 )
下载 d[ownload] <SITE> <UID> -t <TIME> [-n NEXT] [-l LOG_LEVEL]
此模式下TIME为必填, 需要输入本次下载的次数, 为-1时代表全部下载
NEXT代表从指定位置开始下载, 填入帖子的id, 如未找到将略过全部
校验 d[ownload] <SITE> <UID> -v [-f]
此模式下将会根据数据库中存储的内容, 开始进行文件校验, 已经校验过的将会跳过. 若有参数-f, 将会进行不跳过的强制校验
重命名 d[ownload] <SITE> <UID> -r <RENAME_LEVEL>
此模式下将会对文件进行重命名, 作为打包的最后一步
RENAME_LEVEL中内容为更改后文件命名模式, 有shortfull两种模式选择

例:

指令(使用时必须切换到kemono站点) 解释
d fanbox fantia 14648 -t -1 下载fantia站点上画师id14648的所有文件
d fanbox fantia 14648 -t 10 -n 1503200 下载fantia站点上画师id14648的文件, 从1503200开始, 下载10
d fanbox fantia 14648 -v 开始对下载过的fantia站点上画师id14648的文件进行校验
d fanbox fantia 14648 -v -f 开始对下载过的fantia站点上画师id14648的文件进行不跳过的强制校验
d fanbox fantia 14648 -r full 开始对下载过的fantia站点上画师id14648的文件重命名为完整名称
d fanbox fantia 14648 -r short 开始对下载过的fantia站点上画师id14648的文件重命名为短名称

赞助

居然有人来赞助我这个蒟蒻啊啊啊天哪真的非常感谢如果能够赞助的话就可以支持此项目的开发我也会有动力开发下去的 afdian-飞龙project

About

二次元图站爬虫的 TypeScript 实现,图站包括 sankaku 等(未来会支持更多图站)

License:GNU Affero General Public License v3.0


Languages

Language:TypeScript 100.0%