JMComic-Crawler-Python/assets/docs/sources/option_file_syntax.md

130 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Option File Syntax
## 1. 配置前需知
* option有`默认值`当你使用配置文件来创建option时你配置文件中的值会覆盖`默认值`。
因此在配置option时不需要配置全部的值只需要配置特定部分即可。
* 你可以使用下面的代码来得到option的默认值你可以删除其中的大部分配置项只保留你要覆盖的配置项
```python
from jmcomic import JmOption
JmOption.default().to_file('./option.yml') # 创建默认option导出为option.yml文件
```
## 2. option常用配置项
```yml
# 配置客户端相关
client:
# impl: 客户端实现类不配默认是html表示网页端
impl: html
# domain: 域名配置,默认是 [],表示运行时自动获取域名。
# 可配置特定域名,如下:
# 程序会先用第一个域名如果第一个域名重试n次失败则换下一个域名重试以此类推。
domain:
- jm-comic.org
- jm-comic2.cc
- 18comic.vip
- 18comic.org
postman:
meta_data:
# proxies: 代理配置,默认是 system表示使用系统代理。
# 以下的写法都可以:
# proxies: null # 不使用代理
# proxies: clash
# proxies: v2ray
# proxies: 127.0.0.1:7890
# proxies:
# http: 127.0.0.1:7890
# https: 127.0.0.1:7890
proxies: system
# cookies: 帐号配置,默认是 null表示未登录状态访问JM。
# 禁漫的大部分本子,下载是不需要登录的;少部分敏感题材需要登录才能看。
# 如果你希望以登录状态下载本子最简单的方式是配置一下浏览器的cookies
# 不用全部cookies只要那个叫 AVS 就行。
# 特别注意!!!(https://github.com/hect0x7/JMComic-Crawler-Python/issues/104)
# cookies是区分域名的
# 假如你要访问的是 `18comic.vip`那么你配置的cookies也要来自于 `18comic.vip`,不能配置来自于 `jm-comic.club` 的cookies。
# 如果你发现配置了cookies还是没有效果大概率就是你配置的cookies和代码访问的域名不一致。
cookies:
AVS: qkwehjjasdowqeq # 这个值是乱打的,不能用
# 下载配置
download:
cache: true # 如果要下载的文件在磁盘上已存在不用再下一遍了吧默认为true
image:
decode: true # JM的原图是混淆过的要不要还原默认为true
suffix: .jpg # 把图片都转为.jpg格式默认为null表示不转换。
threading:
# image: 同时下载的图片数默认是30张图
# 数值大,下得快,配置要求高,对禁漫压力大
# 数值小,下得慢,配置要求低,对禁漫压力小
# PS: 禁漫网页一次最多请求50张图
image: 30
# photo: 同时下载的章节数不配置默认是cpu的线程数。例如8核16线程的cpu → 16.
photo: 16
# 文件夹规则配置,决定图片文件存放在你的电脑上的哪个文件夹
dir_rule:
# base_dir: 根目录。
base_dir: D:/a/b/c/
# rule: 规则dsl。
# 本项只建议了解编程的朋友定制,实现在这个类: jmcomic.jm_option.DirRule
# 写法:
# 1. 以'Bd'开头,表示根目录
# 2. 文件夹每增加一层,使用'_'区隔
# 3. 文件夹名字表示为 Pxxx/Ayyy意思是 JmPhotoDetail.xxx / JmAlbumDetail的.yyy。xxx和yyy可以写什么需要看源码。
# 下面是示例,表示使用禁漫网站的默认下载方式 [根目录 / 本子id / 章节序号 / 图片文件]
# rule: Bd_Aid_Pindex
# 默认规则是: 根目录 / 章节标题 / 图片文件
rule: Bd_Ptitle
```
## 3. option插件配置项
```yml
# 插件的配置示例
plugins:
after_init:
- plugin: usage_log # 实时打印硬件占用率的插件
kwargs:
interval: 0.5 # 间隔时间
enable_warning: true # 占用过大时发出预警
- plugin: login # 登录插件
kwargs:
username: un # 用户名
password: pw # 密码
- plugin: find_update # 只下载新章插件
kwargs:
145504: 290266 # 下载本子145504的章节290266以后的新章
- plugin: image_suffix_filter # 图片后缀过滤器插件,可以控制只下载哪些后缀的图片
kwargs:
allowed_orig_suffix: # 后缀列表,表示只想下载以.gif结尾的图片
- .gif
- plugin: client_proxy # 客户端实现类代理插件,不建议非开发人员使用
kwargs:
proxy_client_key: cl_proxy_future # 代理类的client_key
whitelist: [ api, ] # 白名单当client.impl匹配白名单时才代理
after_album:
- plugin: zip # 压缩文件插件
kwargs:
level: photo # 按照章节,一个章节一个压缩文件
filename_rule: Ptitle # 压缩文件的命名规则
zip_dir: D:/jmcomic/zip/ # 压缩文件存放的文件夹
delete_original_file: true # 压缩成功后,删除所有原文件和文件夹
```