Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b754c11814 | ||
|
|
5d19ae594d | ||
|
|
bfa8ed3144 | ||
|
|
0ec23aaa38 | ||
|
|
878ae46d77 | ||
|
|
766e6bbd88 | ||
|
|
0107c7d624 | ||
|
|
d0cf2d2193 | ||
|
|
d1403af548 |
@@ -14,7 +14,7 @@ os.chdir(os.getcwd())
|
|||||||
|
|
||||||
# ============global var===========
|
# ============global var===========
|
||||||
|
|
||||||
version='0.11.8'
|
version='0.11.9'
|
||||||
|
|
||||||
config = ConfigParser()
|
config = ConfigParser()
|
||||||
config.read(config_file, encoding='UTF-8')
|
config.read(config_file, encoding='UTF-8')
|
||||||
@@ -37,6 +37,26 @@ def UpdateCheck():
|
|||||||
print('[+]Update Check disabled!')
|
print('[+]Update Check disabled!')
|
||||||
def movie_lists():
|
def movie_lists():
|
||||||
directory = config['directory_capture']['directory']
|
directory = config['directory_capture']['directory']
|
||||||
|
a2=[]
|
||||||
|
b2=[]
|
||||||
|
c2=[]
|
||||||
|
d2=[]
|
||||||
|
e2=[]
|
||||||
|
f2=[]
|
||||||
|
g2=[]
|
||||||
|
h2=[]
|
||||||
|
if directory=='*':
|
||||||
|
for i in os.listdir(os.getcwd()):
|
||||||
|
a2 += glob.glob(r"./" + i + "/*.mp4")
|
||||||
|
b2 += glob.glob(r"./" + i + "/*.avi")
|
||||||
|
c2 += glob.glob(r"./" + i + "/*.rmvb")
|
||||||
|
d2 += glob.glob(r"./" + i + "/*.wmv")
|
||||||
|
e2 += glob.glob(r"./" + i + "/*.mov")
|
||||||
|
f2 += glob.glob(r"./" + i + "/*.mkv")
|
||||||
|
g2 += glob.glob(r"./" + i + "/*.flv")
|
||||||
|
h2 += glob.glob(r"./" + i + "/*.ts")
|
||||||
|
total = a2 + b2 + c2 + d2 + e2 + f2 + g2 + h2
|
||||||
|
return total
|
||||||
a2 = glob.glob(r"./" + directory + "/*.mp4")
|
a2 = glob.glob(r"./" + directory + "/*.mp4")
|
||||||
b2 = glob.glob(r"./" + directory + "/*.avi")
|
b2 = glob.glob(r"./" + directory + "/*.avi")
|
||||||
c2 = glob.glob(r"./" + directory + "/*.rmvb")
|
c2 = glob.glob(r"./" + directory + "/*.rmvb")
|
||||||
@@ -139,6 +159,7 @@ if __name__ =='__main__':
|
|||||||
print('[-]' + i + ' Cannot catch the number :')
|
print('[-]' + i + ' Cannot catch the number :')
|
||||||
print('[-]Move ' + i + ' to failed folder')
|
print('[-]Move ' + i + ' to failed folder')
|
||||||
shutil.move(i, str(os.getcwd()) + '/' + 'failed/')
|
shutil.move(i, str(os.getcwd()) + '/' + 'failed/')
|
||||||
|
continue
|
||||||
|
|
||||||
|
|
||||||
CEF('JAV_output')
|
CEF('JAV_output')
|
||||||
|
|||||||
73
README.md
73
README.md
@@ -20,9 +20,11 @@
|
|||||||
* [简明教程](#简要教程)
|
* [简明教程](#简要教程)
|
||||||
* [模块安装](#1请安装模块在cmd终端逐条输入以下命令安装)
|
* [模块安装](#1请安装模块在cmd终端逐条输入以下命令安装)
|
||||||
* [配置](#2配置configini)
|
* [配置](#2配置configini)
|
||||||
* [运行软件](#4运行-av_data_capturepyexe)
|
* [(可选)设置自定义目录和影片重命名规则](#3可选设置自定义目录和影片重命名规则)
|
||||||
* [异常处理(重要)](#5异常处理重要)
|
* [运行软件](#5运行-av_data_capturepyexe)
|
||||||
* [导入至媒体库](#7把jav_output文件夹导入到embykodi中根据封面选片子享受手冲乐趣)
|
* [影片原路径处理](#4建议把软件拷贝和电影的统一目录下)
|
||||||
|
* [异常处理(重要)](#51异常处理重要)
|
||||||
|
* [导入至媒体库](#7把jav_output文件夹导入到embykodi中等待元数据刷新完成)
|
||||||
* [写在后面](#8写在后面)
|
* [写在后面](#8写在后面)
|
||||||
|
|
||||||
# 免责声明
|
# 免责声明
|
||||||
@@ -85,13 +87,18 @@ pip install pillow
|
|||||||
|
|
||||||
## 2.配置config.ini
|
## 2.配置config.ini
|
||||||
config.ini
|
config.ini
|
||||||
|
>[common]<br>
|
||||||
|
>main_mode=1<br>
|
||||||
|
>failed_output_folder=failed<br>
|
||||||
|
>success_output_folder=JAV_output<br>
|
||||||
|
>
|
||||||
>[proxy]<br>
|
>[proxy]<br>
|
||||||
>proxy=127.0.0.1:1080<br>
|
>proxy=127.0.0.1:1080<br>
|
||||||
>timeout=10<br>
|
>timeout=10<br>
|
||||||
>retry=3<br>
|
>retry=3<br>
|
||||||
>
|
>
|
||||||
>[Name_Rule]<br>
|
>[Name_Rule]<br>
|
||||||
>location_rule='JAV_output/'+actor+'/['+number+']-'+title<br>
|
>location_rule=actor+'/'+number<br>
|
||||||
>naming_rule=number+'-'+title<br>
|
>naming_rule=number+'-'+title<br>
|
||||||
>
|
>
|
||||||
>[update]<br>
|
>[update]<br>
|
||||||
@@ -102,11 +109,21 @@ config.ini
|
|||||||
>#emby or plex<br>
|
>#emby or plex<br>
|
||||||
>
|
>
|
||||||
>[directory_capture]<br>
|
>[directory_capture]<br>
|
||||||
>input_directory=<br>
|
>directory=<br>
|
||||||
>
|
|
||||||
>#everyone switch:1=on, 0=off<br>
|
|
||||||
|
|
||||||
### 1.网络设置
|
### 全局设置
|
||||||
|
#### 软件模式
|
||||||
|
>[common]<br>
|
||||||
|
>main_mode=1<br>
|
||||||
|
|
||||||
|
1为普通模式,2为整理模式:仅根据女优把电影命名为番号并分类到女优名称的文件夹下
|
||||||
|
|
||||||
|
>failed_output_folder=failed<br>
|
||||||
|
>success_output_folder=JAV_outputd<br>
|
||||||
|
|
||||||
|
设置成功输出目录和失败输出目录
|
||||||
|
|
||||||
|
### 网络设置
|
||||||
#### * 针对“某些地区”的代理设置
|
#### * 针对“某些地区”的代理设置
|
||||||
打开```config.ini```,在```[proxy]```下的```proxy```行设置本地代理地址和端口,支持Shadowxxxx/X,V2XXX本地代理端口:<br>
|
打开```config.ini```,在```[proxy]```下的```proxy```行设置本地代理地址和端口,支持Shadowxxxx/X,V2XXX本地代理端口:<br>
|
||||||
例子:```proxy=127.0.0.1:1080```<br>素人系列抓取建议使用日本代理<br>
|
例子:```proxy=127.0.0.1:1080```<br>素人系列抓取建议使用日本代理<br>
|
||||||
@@ -121,34 +138,35 @@ config.ini
|
|||||||
#### 连接重试次数设置
|
#### 连接重试次数设置
|
||||||
>[proxy]<br>
|
>[proxy]<br>
|
||||||
>retry=3<br>
|
>retry=3<br>
|
||||||
|
|
||||||
3即为重试次数
|
3即为重试次数
|
||||||
|
|
||||||
#### 检查更新开关
|
#### 检查更新开关
|
||||||
>[update]<br>
|
>[update]<br>
|
||||||
>update_check=1<br>
|
>update_check=1<br>
|
||||||
|
|
||||||
0为关闭,1为开启,不建议关闭
|
0为关闭,1为开启,不建议关闭
|
||||||
PLEX请安装插件:```XBMCnfoMoviesImporter```
|
|
||||||
|
|
||||||
##### 媒体库选择
|
##### 媒体库选择
|
||||||
>[media]<br>
|
>[media]<br>
|
||||||
>media_warehouse=emby<br>
|
>media_warehouse=emby<br>
|
||||||
>#emby or plex<br>
|
>#emby or plex<br>
|
||||||
>#plex only test!<br>
|
|
||||||
建议选择emby, plex不完善
|
|
||||||
|
|
||||||
#### 输出目录选择
|
可选择emby, plex<br>
|
||||||
>[directory_capture]<br>
|
如果是PLEX,请安装插件:```XBMCnfoMoviesImporter```
|
||||||
>location_rule='JAV_output/'+actor+'/['+number+']-'+title<br>
|
|
||||||
开头的JAV_output即输出目录,自定义过程不要把前后的冒号 '' 去除
|
|
||||||
|
|
||||||
#### 抓取目录选择
|
#### 抓取目录选择
|
||||||
>[directory_capture]<br>
|
>[directory_capture]<br>
|
||||||
>input_directory=<br>
|
>directory=<br>
|
||||||
如果input_directory后面为空,则抓取和程序同一目录下的影片
|
如果directory后面为空,则抓取和程序同一目录下的影片,设置为``` * ```可抓取软件所在目录下的所有子目录中的影片
|
||||||
|
|
||||||
|
## 3.(可选)设置自定义目录和影片重命名规则
|
||||||
|
>[Name_Rule]<br>
|
||||||
|
>location_rule=actor+'/'+number<br>
|
||||||
|
>naming_rule=number+'-'+title<br>
|
||||||
|
|
||||||
### (可选)设置自定义目录和影片重命名规则
|
|
||||||
**已有默认配置**<br>
|
**已有默认配置**<br>
|
||||||
##### 命名参数<br>
|
#### 命名参数<br>
|
||||||
>title = 片名<br>
|
>title = 片名<br>
|
||||||
>actor = 演员<br>
|
>actor = 演员<br>
|
||||||
>studio = 公司<br>
|
>studio = 公司<br>
|
||||||
@@ -161,25 +179,26 @@ PLEX请安装插件:```XBMCnfoMoviesImporter```
|
|||||||
>outline = 简介<br>
|
>outline = 简介<br>
|
||||||
>runtime = 时长<br>
|
>runtime = 时长<br>
|
||||||
##### **例子**:<br>
|
##### **例子**:<br>
|
||||||
目录结构规则:```location_rule='JAV_output/'+actor+'/'+number```<br> **不推荐修改时在这里添加title**,有时title过长,因为Windows API问题,抓取数据时新建文件夹容易出错。<br>
|
目录结构规则:```location_rule=actor+'/'+number```<br> **不推荐修改时在这里添加title**,有时title过长,因为Windows API问题,抓取数据时新建文件夹容易出错。<br>
|
||||||
影片命名规则:```naming_rule='['+number+']-'+title```<br> **在EMBY,KODI等本地媒体库显示的标题,不影响目录结构下影片文件的命名**,依旧是 番号+后缀。
|
影片命名规则:```naming_rule=number+'-'+title```<br> **在EMBY,KODI等本地媒体库显示的标题,不影响目录结构下影片文件的命名**,依旧是 番号+后缀。
|
||||||
### 3.更新开关
|
### 更新开关
|
||||||
>[update]<br>update_check=1<br>
|
>[update]<br>update_check=1<br>
|
||||||
1为开,0为关
|
1为开,0为关
|
||||||
## 3.把软件拷贝和电影的统一目录下
|
## 4.建议把软件拷贝和电影的统一目录下
|
||||||
## 4.运行 ```AV_Data_capture.py/.exe```
|
如果```config.ini```中```directory=```后面为空的情况下
|
||||||
|
## 5.运行 ```AV_Data_capture.py/.exe```
|
||||||
当文件名包含:<br>
|
当文件名包含:<br>
|
||||||
中文,字幕,-c., -C., 处理元数据时会加上**中文字幕**标签
|
中文,字幕,-c., -C., 处理元数据时会加上**中文字幕**标签
|
||||||
## 5.异常处理(重要)
|
## 5.1 异常处理(重要)
|
||||||
### 请确保软件是完整地!确保ini文件内容是和下载提供ini文件内容的一致的!
|
### 请确保软件是完整地!确保ini文件内容是和下载提供ini文件内容的一致的!
|
||||||
### 关于软件打开就闪退
|
### 关于软件打开就闪退
|
||||||
可以打开cmd命令提示符,把 ```AV_Data_capture.py/.exe```拖进cmd窗口回车运行,查看错误,出现的错误信息**依据以下条目解决**
|
可以打开cmd命令提示符,把 ```AV_Data_capture.py/.exe```拖进cmd窗口回车运行,查看错误,出现的错误信息**依据以下条目解决**
|
||||||
### 关于 ```Updata_check``` 和 ```JSON``` 相关的错误
|
### 关于 ```Updata_check``` 和 ```JSON``` 相关的错误
|
||||||
跳转 [网络设置](#1网络设置)
|
跳转 [网络设置](#网络设置)
|
||||||
### 关于```FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'JAV_output''```
|
### 关于```FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'JAV_output''```
|
||||||
在软件所在文件夹下新建 JAV_output 文件夹,可能是你没有把软件拉到和电影的同一目录
|
在软件所在文件夹下新建 JAV_output 文件夹,可能是你没有把软件拉到和电影的同一目录
|
||||||
### 关于连接拒绝的错误
|
### 关于连接拒绝的错误
|
||||||
请设置好[代理](#1针对某些地区的代理设置)<br>
|
请设置好[代理](#针对某些地区的代理设置)<br>
|
||||||
### 关于Nonetype,xpath报错
|
### 关于Nonetype,xpath报错
|
||||||
同上<br>
|
同上<br>
|
||||||
### 关于番号提取失败或者异常
|
### 关于番号提取失败或者异常
|
||||||
|
|||||||
5
core.py
5
core.py
@@ -101,8 +101,9 @@ def getDataFromJSON(file_number): #从JSON返回元数据
|
|||||||
json_data = json.loads(fc2fans_club.main(file_number.strip('fc2_').strip('fc2-').strip('ppv-').strip('PPV-').strip('FC2_').strip('FC2-').strip('ppv-').strip('PPV-')))
|
json_data = json.loads(fc2fans_club.main(file_number.strip('fc2_').strip('fc2-').strip('ppv-').strip('PPV-').strip('FC2_').strip('FC2-').strip('ppv-').strip('PPV-')))
|
||||||
elif 'FC2' in file_number:
|
elif 'FC2' in file_number:
|
||||||
json_data = json.loads(fc2fans_club.main(file_number.strip('FC2_').strip('FC2-').strip('ppv-').strip('PPV-').strip('fc2_').strip('fc2-').strip('ppv-').strip('PPV-')))
|
json_data = json.loads(fc2fans_club.main(file_number.strip('FC2_').strip('FC2-').strip('ppv-').strip('PPV-').strip('fc2_').strip('fc2-').strip('ppv-').strip('PPV-')))
|
||||||
elif 'siro' in number or 'SIRO' in number or 'Siro' in number:
|
# =======================siro.py=========================
|
||||||
json_data = json_data(siro.main(file_number))
|
elif 'siro' in file_number or 'SIRO' in file_number or 'Siro' in file_number:
|
||||||
|
json_data = json.loads(siro.main(file_number))
|
||||||
# =======================javbus.py=======================
|
# =======================javbus.py=======================
|
||||||
else:
|
else:
|
||||||
json_data = json.loads(javbus.main(file_number))
|
json_data = json.loads(javbus.main(file_number))
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ def getTag(htmlcode): # 获取演员
|
|||||||
|
|
||||||
def main(number):
|
def main(number):
|
||||||
try:
|
try:
|
||||||
if re.search('\d+\D+', number).group() in number or 'siro' in number or 'SIRO' in number or 'Siro' in number:
|
if re.search('\d+\D+', number).group() in number:
|
||||||
js = siro.main(number)
|
js = siro.main(number)
|
||||||
return js
|
return js
|
||||||
except:
|
except:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"version": "0.11.7",
|
"version": "0.11.9",
|
||||||
"version_show":"Beta 11.7",
|
"version_show":"Beta 11.9",
|
||||||
"download": "https://github.com/wenead99/AV_Data_Capture/releases"
|
"download": "https://github.com/wenead99/AV_Data_Capture/releases"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user