AV_Data_Capture/README.md
Tan Peng fc13f88731 优化正则等,修改逻辑,避免被覆盖
to learn goupby

learn pandas groupby

groupby

learn pandas groupby

优化正则提取番号和集数

待理解下载图片逻辑

还有剪裁+背景图逻辑

修改所有config[

将整理生成nfo的代码

可缓存番号信息和缩略图和海报

可以识别番号后集数和尾部集数,赞不能分辨-C中文字幕片

改正一个错误

嵌套字典存储数据

整理函数

修正匹配时间正则

pipenv 添加依赖

修改优先取三位数字的规则:heyzo四位数除外

添加了依赖 和 有番号的优化

修改了啥 我也记不得了
2022-10-09 20:47:38 +08:00

327 lines
11 KiB
Markdown
Executable File
Raw Permalink 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.

# AV Data Capture (CLI)
CLI 版本
<a title="Hits" target="_blank" href="https://github.com/yoshiko2/AV_Data_Capture"><img src="https://hits.b3log.org/yoshiko2/AV_Data_Capture.svg"></a>
![](https://img.shields.io/badge/build-passing-brightgreen.svg?style=flat-square)
![](https://img.shields.io/github/downloads/yoshiko2/av_data_capture/total.svg?style=flat-square)
![](https://img.shields.io/github/license/yoshiko2/av_data_capture.svg?style=flat-square)
![](https://img.shields.io/github/release/yoshiko2/av_data_capture.svg?style=flat-square)
![](https://img.shields.io/badge/Python-3.7-yellow.svg?style=flat-square&logo=python)<br>
[GUI 版本](https://github.com/moyy996/AVDC)
<a title="Hits" target="_blank" href="https://github.com/moyy996/avdc"><img src="https://hits.b3log.org/moyy996/AVDC.svg"></a>
![](https://img.shields.io/badge/build-passing-brightgreen.svg?style=flat-square)
![](https://img.shields.io/github/downloads/moyy996/avdc/total.svg?style=flat-square)
![](https://img.shields.io/github/license/moyy996/avdc.svg?style=flat-square)
![](https://img.shields.io/github/release/moyy996/avdc.svg?style=flat-square)
![](https://img.shields.io/badge/Python-3.6-yellow.svg?style=flat-square&logo=python)
![](https://img.shields.io/badge/Pyqt-5-blue.svg?style=flat-square)<br>
**日本电影元数据 抓取工具 | 刮削器**,配合本地影片管理软件 Emby, Jellyfin, Kodi 等管理本地影片该软件起到分类与元数据metadata抓取作用利用元数据信息来分类供本地影片分类整理使用。
##### 本地电影刮削与整理一体化解决方案
# 目录
* [声明](#声明)
* [FAQ](#FAQ)
* [故事](#故事)
* [效果图](#效果图)
* [如何使用](#如何使用)
* [下载](#下载)
* [简要教程](#简要教程)
* [完整文档](#完整文档)
* [模块安装](#模块安装)
* [配置](#配置configini)
* [多目录影片处理](#多目录影片处理)
* [多集影片处理](#多集影片处理)
* [中文字幕处理](#中文字幕处理)
* [异常处理(重要)](#异常处理重要)
* [写在后面](#写在后面)
# 声明
* 本软件仅供**技术交流,学术交流**使用
* 本软件作者编写出该软件旨在学习 Python ,提高编程水平
* 用户在使用本软件前,请用户自觉遵守当地法律法规,如果本软件使用过程中存在违反当地法律法规的行为,请勿使用该软件
* 用户在使用本软件时,若产生一切违法行为由用户承担
* 严禁用户将本软件使用于商业和个人其他意图
* 本软件作者保留最终决定权和最终解释权
**若用户不同意上述条款任意一条,请勿使用本软件**
# FAQ
### 软件能下片吗?
* 本软件不提供任何影片下载地址,仅供本地影片分类整理使用
### 什么是元数据metadata
* 元数据包括了影片的封面,导演,演员,简介,类型......
### 软件收费吗?
* 本软件永久免费,**除了作者<ruby><rt>yìng</rt></ruby>点以外**
### 软件运行异常怎么办?
* 认真看 [异常处理(重要)](#异常处理重要)
### 为什么软件要单线程运行?
* 多线程爬取可能会触发网站反爬机制,同时也违背了些道德,故单线程运行
# 效果图
**图片来自网络**,图片仅供参考,具体效果请自行联想
![preview_picture_1](https://i.loli.net/2019/07/04/5d1cf9bb1b08b86592.jpg)
![preview_picture_2](https://i.loli.net/2019/07/04/5d1cf9bb2696937880.jpg)
# 如何使用
## 下载
* release的程序可脱离**python环境**运行,可跳过 [模块安装](#模块安装)
### Windows
Release 下载地址(**仅限Windows**):
[![](https://img.shields.io/badge/%E4%B8%8B%E8%BD%BD-windows-blue.svg?style=for-the-badge&logo=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.mp4abp-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 原作者已授权
![](https://raw.githubusercontent.com/Pockies/pic/master/741f9461gy1g1cxc31t41j20i804zdgo.jpg)
目前作者已经完善了番号提取机制,功能较为强大,可提取上述文件名的的番号,如果出现提取失败或者异常的情况,请用以下规则命名
```
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)**