# AV Data Capture (CLI)
CLI 版本





[GUI 版本](https://github.com/moyy996/AVDC)






**日本电影元数据 抓取工具 | 刮削器**,配合本地影片管理软件 Emby, Jellyfin, Kodi 等管理本地影片,该软件起到分类与元数据(metadata)抓取作用,利用元数据信息来分类,供本地影片分类整理使用。
##### 本地电影刮削与整理一体化解决方案
# 目录
* [声明](#声明)
* [FAQ](#FAQ)
* [故事](#故事)
* [效果图](#效果图)
* [如何使用](#如何使用)
* [下载](#下载)
* [简要教程](#简要教程)
* [完整文档](#完整文档)
* [模块安装](#模块安装)
* [配置](#配置configini)
* [多目录影片处理](#多目录影片处理)
* [多集影片处理](#多集影片处理)
* [中文字幕处理](#中文字幕处理)
* [异常处理(重要)](#异常处理重要)
* [写在后面](#写在后面)
# 声明
* 本软件仅供**技术交流,学术交流**使用
* 本软件作者编写出该软件旨在学习 Python ,提高编程水平
* 用户在使用本软件前,请用户自觉遵守当地法律法规,如果本软件使用过程中存在违反当地法律法规的行为,请勿使用该软件
* 用户在使用本软件时,若产生一切违法行为由用户承担
* 严禁用户将本软件使用于商业和个人其他意图
* 本软件作者保留最终决定权和最终解释权
**若用户不同意上述条款任意一条,请勿使用本软件**
# FAQ
### 软件能下片吗?
* 本软件不提供任何影片下载地址,仅供本地影片分类整理使用
### 什么是元数据(metadata)?
* 元数据包括了影片的封面,导演,演员,简介,类型......
### 软件收费吗?
* 本软件永久免费,**除了作者钦点以外**
### 软件运行异常怎么办?
* 认真看 [异常处理(重要)](#异常处理重要)
### 为什么软件要单线程运行?
* 多线程爬取可能会触发网站反爬机制,同时也违背了些道德,故单线程运行
# 效果图
**图片来自网络**,图片仅供参考,具体效果请自行联想


# 如何使用
## 下载
* release的程序可脱离**python环境**运行,可跳过 [模块安装](#模块安装)
### Windows
Release 下载地址(**仅限Windows**):
[](https://github.com/yoshiko2/AV_Data_Capture/releases)
* 若 Windows 用户需要运行源代码版本,请安装 Windows Python 环境:[点击前往](https://www.python.org/downloads/windows/) 选中 executable installer 下载
### MacOS, Linux
* MacOS, Linux 用户请下载源码包运行
* MacOS Python环境:开箱即用,[可选安装最新版本](https://docs.brew.sh/Homebrew-and-Python)
* Linux Python环境:开箱即用,可选安装最新版本,恕 Linux 版本众多请自行搜索
## 简要教程:
1. 把软件拉到和电影的同一目录
2. 设置 config.ini 文件的代理(路由器拥有自动代理功能的可以把 proxy= 后面内容去掉)
3. 运行软件等待完成
4. 把 JAV_output 导入至 Kodi, Emby, Jellyfin 中。
详细请看以下完整文档
# 完整文档
## 模块安装
如果运行**源码**版,运行前请安装**Python环境**和安装以下**模块**
在终端 cmd/Powershell/Terminal 中输入以下代码来安装模块
```python
pip install requests pyquery lxml Beautifulsoup4 pillow
```
## 配置config.ini
### 运行模式
```
[common]
main_mode=1
```
1为普通模式,
2为整理模式:仅根据女优把电影命名为番号并分类到女优名称的文件夹下
```
success_output_folder=JAV_outputd
failed_output_folder=failed
```
设置成功输出目录和失败输出目录
---
#### 软链接
方便PT下载完既想刮削又想继续上传的仓鼠党同志
```
[common]
soft_link=0
```
1为开启软链接模式
0为关闭
---
### 网络设置
```
[proxy]
proxy=127.0.0.1:1081
timeout=10
retry=3
```
#### 针对某些地区的代理设置
```
proxy=127.0.0.1:1081
```
打开```config.ini```,在```[proxy]```下的```proxy```行设置本地代理地址和端口,支持Shadowxxxx/X,V2XXX本地代理端口
素人系列抓取建议使用日本代理
**路由器拥有自动代理功能的可以把proxy=后面内容去掉**
**本地代理软件开全局模式的用户同上**
**如果遇到tineout错误,可以把文件的proxy=后面的地址和端口删除,并开启代理软件全局模式,或者重启电脑,代理软件,网卡**
---
#### 连接超时重试设置
```
timeout=10
```
10为超时重试时间 单位:秒
---
#### 连接重试次数设置
```
retry=3
```
3即为重试次数
---
#### 检查更新开关
```
[update]
update_check=1
```
0为关闭,1为开启,不建议关闭
---
### 媒体库选择
```
[media]
media_warehouse=emby
#emby plex kodi
```
可选择emby, plex, kodi
如果是PLEX,请安装插件:```XBMCnfoMoviesImporter```
---
### 排除指定字符和目录
```
[escape]
literals=\
folders=failed,JAV_output
```
```literals=``` 标题指定字符删除,例如```iterals=\()```,则删除标题中```\()```字符
```folders=``` 指定目录,例如```folders=failed,JAV_output```,多目录刮削时跳过failed,JAV_output
---
### 调试模式
```
[debug_mode]
switch=1
```
如要开启调试模式,请手动输入以上代码到```config.ini```中,开启后可在抓取中显示影片元数据
---
### (可选)设置自定义目录和影片重命名规则
```
[Name_Rule]
location_rule=actor+'/'+number
naming_rule=number+'-'+title
```
已有默认配置
---
#### 命名参数
```
title = 片名
actor = 演员
studio = 公司
director = 导演
release = 发售日
year = 发行年份
number = 番号
cover = 封面链接
tag = 类型
outline = 简介
runtime = 时长
```
上面的参数以下都称之为**变量**
#### 例子:
自定义规则方法:有两种元素,变量和字符,无论是任何一种元素之间连接必须要用加号 **+** ,比如:```'naming_rule=['+number+']-'+title```,其中冒号 ' ' 内的文字是字符,没有冒号包含的文字是变量,元素之间连接必须要用加号 **+**
目录结构规则:默认 ```location_rule=actor+'/'+number```
**不推荐修改时在这里添加 title**,有时 title 过长,因为 Windows API 问题,抓取数据时新建文件夹容易出错。
影片命名规则:默认 ```naming_rule=number+'-'+title```
**在 Emby, Kodi等本地媒体库显示的标题,不影响目录结构下影片文件的命名**,依旧是 番号+后缀。
---
### 更新开关
```
[update]
update_check=1
```
1为开,0为关
## 多目录影片处理
可以在多个有影片目录的父目录下搜索影片后缀,然后剪切到和程序同一目录下
## 多集影片处理
**建议使用视频合并合并为一个视频文件**
可以把多集电影按照集数后缀命名为类似```ssni-xxx-cd1.mp4m,ssni-xxx-cd2.mp4,abp-xxx-CD1.mp4```的规则,只要含有```-CDn./-cdn.```类似命名规则,即可使用分集功能
## 中文字幕处理
运行 ```AV_Data_capture.py/.exe```
当文件名包含:
中文,字幕,-c., -C., 处理元数据时会加上**中文字幕**标签
## 异常处理(重要)
### 请确保软件是完整地!确保ini文件内容是和下载提供ini文件内容的一致的!
---
### 关于软件打开就闪退
可以打开cmd命令提示符,把 ```AV_Data_capture.py/.exe```拖进cmd窗口回车运行,查看错误,出现的错误信息**依据以下条目解决**
---
### 关于 ```Updata_check``` 和 ```JSON``` 相关的错误
跳转 [网络设置](#网络设置)
---
### 关于字幕文件移动功能
字幕文件前缀必须与影片文件前缀一致,才可以使用该功能
---
### 关于```FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'JAV_output''```
在软件所在文件夹下新建 JAV_output 文件夹,可能是你没有把软件拉到和电影的同一目录
---
### 关于连接拒绝的错误
请设置好[代理](#针对某些地区的代理设置)
---
### 关于Nonetype,xpath报错
同上
---
### 关于番号提取失败或者异常
**目前可以提取元素的影片:JAVBUS上有元数据的电影,素人系列:300Maan,259luxu,siro等,FC2系列**
>下一张图片来自 Pockies 的 blog 原作者已授权

目前作者已经完善了番号提取机制,功能较为强大,可提取上述文件名的的番号,如果出现提取失败或者异常的情况,请用以下规则命名
```
COSQ-004.mp4
```
条件:文件名中间要有下划线或者减号"_","-",没有多余的内容只有番号为最佳,可以让软件更好获取元数据
对于多影片重命名,可以用 [ReNamer](http://www.den4b.com/products/renamer) 来批量重命名
---
### 关于PIL/image.py
暂时无解,可能是网络问题或者pillow模块打包问题,你可以用源码运行(要安装好第一步的模块)
### 拖动法
针对格式比较奇葩的番号
影片放在和程序同一目录下,拖动至```AV_Data_Capture.exe```,即可完成刮削和整理
### 软件会自动把元数据获取成功的电影移动到 JAV_output 文件夹中,根据演员分类,失败的电影移动到failed文件夹中。
### 把JAV_output文件夹导入到 Emby, Kodi中,等待元数据刷新,完成
### 关于群晖NAS
开启 SMB,并在 Windows 上挂载为网络磁盘即可使用本软件,也适用于其他 NAS
## 写在后面
怎么样,看着自己的日本电影被这样完美地管理,是不是感觉成就感爆棚呢?
**tg官方电报群:[ 点击进群](https://t.me/joinchat/J54y1g3-a7nxJ_-WS4-KFQ)**