From 7308fec4990702d63876666715d4f573a9f6ee15 Mon Sep 17 00:00:00 2001 From: Carol Date: Thu, 7 Sep 2023 15:12:42 +0800 Subject: [PATCH 1/8] =?UTF-8?q?change:=20=E4=BF=AE=E6=94=B9tmdb=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tmdb.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/tmdb.py b/tmdb.py index 1244283..8237657 100644 --- a/tmdb.py +++ b/tmdb.py @@ -6,6 +6,12 @@ import os from analyze import Make import utils.DateUtil as DateUtil +# https://api.tmdb.org +# https://tmdb.nastool.org +# https://t.nastool.workers.dev +api_url = "https://api.themoviedb.org" +image_url = "https://www.themoviedb.org" + class Tmdb: def __init__(self, log, tmdb_id, actor_path, tmdb_token, language="zh-CN"): @@ -20,7 +26,7 @@ class Tmdb: self.language = language def get_actor_info(self): - url = "https://api.themoviedb.org/3/person/" + self.tmdb_id + "?language=" + self.language + url = api_url + "/3/person/" + self.tmdb_id + "?language=" + self.language headers = self.header response = requests.get(url, headers=headers) return response.text @@ -29,7 +35,7 @@ class Tmdb: image_path = json.loads(self.get_actor_info())["profile_path"] self.log.logger.info("当前刮削到的演员海报路径:{0}".format(image_path)) if None is not image_path: - url = 'https://www.themoviedb.org/t/p/original' + image_path + url = image_url + '/t/p/original' + image_path response = requests.get(url) if response.status_code == 200: suffix = image_path.split(".")[1] @@ -37,7 +43,7 @@ class Tmdb: f.write(response.content) def __translations(self): - url = "https://api.themoviedb.org/3/person/" + self.tmdb_id + "/translations" + url = api_url + "/3/person/" + self.tmdb_id + "/translations" headers = self.header response = requests.get(url, headers=headers) return response.text From 361bdda7f8e2061a6d8ba399847585e7902eb334 Mon Sep 17 00:00:00 2001 From: Carol Date: Thu, 7 Sep 2023 15:13:29 +0800 Subject: [PATCH 2/8] =?UTF-8?q?change:=20=E4=BF=AE=E6=94=B9tmdb=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tmdb.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tmdb.py b/tmdb.py index 8237657..276161f 100644 --- a/tmdb.py +++ b/tmdb.py @@ -9,6 +9,7 @@ import utils.DateUtil as DateUtil # https://api.tmdb.org # https://tmdb.nastool.org # https://t.nastool.workers.dev +# https://api.themoviedb.org api_url = "https://api.themoviedb.org" image_url = "https://www.themoviedb.org" From 0b331e9ae4a31ec59fe6c8b9a79e4c79feb69ff7 Mon Sep 17 00:00:00 2001 From: Carol Date: Fri, 8 Sep 2023 14:21:29 +0800 Subject: [PATCH 3/8] =?UTF-8?q?add:=20=E6=96=B0=E5=A2=9E=E5=91=BD=E4=BB=A4?= =?UTF-8?q?=E8=A1=8C=E6=96=B9=E5=BC=8F=E5=90=AF=E5=8A=A8=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 13 +++++++- main.py | 95 ++++++++++++++++++++++++++++--------------------------- scrape.py | 45 ++++++++++++++++++++++++++ tmdb.py | 2 +- 4 files changed, 107 insertions(+), 48 deletions(-) create mode 100644 scrape.py diff --git a/README.md b/README.md index d037411..c76b537 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ ## 使用 * 环境:Python3.9 -> 实际上最新要求`Python3.8`,如果需要xml中生成`standalone`参数则必须使用`Python3.9` +> 最低要求`Python3.8`,如果需要xml中生成`standalone`参数则必须使用`Python3.9` 及以上版本 ### 安装相关pip依赖包 @@ -68,10 +68,21 @@ pip3 install json ### 运行 +#### 直接修改脚本文件方式 1. 修改 `main.py` 文件中 `if __name__ == '__main__':` 方法中 `__dir_path` 、 `__output` 、 `__tmdb_token` 参数值 2. 执行脚本 ```python python3 main.py ``` +#### 命令行执行 +> 注意参数 `--dir_path` 的值如果需要配置多个,请使用英文半角逗号拼接,不要有空格 +```python +python3 main.py --dir_path "example/movies","example/tvs" --output data/metadata/person --tmdb_token +``` + +### 补充 +1. 运行提示 `no module name requests` 但是实际python环境中又安装了的: +* 查看当前执行的python版本:```python --version``` +* 例如 ```python3 --version``` 显示的是3.8,但是实际又3.9版本的环境,可以使用 ```python3.9 -m pip install requests``` 进行指定python版本的依赖包安装 diff --git a/main.py b/main.py index 627d378..c96bf47 100644 --- a/main.py +++ b/main.py @@ -2,10 +2,8 @@ # -*- coding: utf-8 -*- import os import sys - -from analyze import Analyze -from tmdb import Tmdb from utils.LoggerUtil import Logger +from scrape import __execute def __init_logger(log_file="tmdb.log", level="info", back_count=3): @@ -25,9 +23,6 @@ def __init_logger(log_file="tmdb.log", level="info", back_count=3): return Logger(log_file_abspath, level=level, backCount=back_count) - - - def __check_version(): version_info = sys.version_info if 3 > version_info.major: @@ -41,55 +36,63 @@ def __check_version(): log.logger.warn("推荐使用Python 3.9 及以上版本!") -def __execute(dir_path, output, tmdb_token): - log.logger.info("------------------- 开始获取演员元数据及海报 -------------------") - __file_paths = [] - log.logger.info("当前执行元数据刮削识别的根文件夹:{0}".format(dir_path)) - for folder in os.listdir(dir_path): - __folder2 = os.path.join(dir_path, folder) - # 判断是否文件夹 - if os.path.isdir(__folder2): - for nfo_file in os.listdir(__folder2): - __child_file_path = os.path.join(__folder2, nfo_file) - if ".nfo" in os.path.basename(__child_file_path): - __file_paths.append(__child_file_path) - elif os.path.isfile(__folder2): - __file_name = os.path.basename(__folder2) - if ".nfo" in __file_name: - __file_paths.append(__folder2) - for __file_path in __file_paths: - log.logger.info("开始处理元数据刮削识别:{0}".format(__file_path)) - # __file_path = "example/神出鬼没 (2023) - 2160p.nfo" - __nfo_data = Analyze(file_path=__file_path).analyze() - for __actor in __nfo_data["actors"]: - __tmdbid = __actor["tmdbid"] - __actor_name = __actor["name"] - __name = __actor_name[1].lower() - __full_actor_name = __actor_name + "-tmdb-" + __tmdbid - __path_dir = os.path.join(output, __name, __full_actor_name) - if not os.path.exists(__path_dir): - os.makedirs(__path_dir) - # 如果存在元数据则不再进行刮削 - if "person.nfo" not in os.listdir(__path_dir): - Tmdb(log=log, tmdb_id=__tmdbid, actor_path=__path_dir, tmdb_token=tmdb_token).create_actor_nfo() - # 如果存在海报则不再进行刮削 - if "folder.jpg" not in os.listdir(__path_dir): - Tmdb(log=log, tmdb_id=__tmdbid, actor_path=__path_dir, tmdb_token=tmdb_token).get_actor_image() - log.logger.info("------------------- 结束获取演员元数据及海报 -------------------") +def __get_sys_args(log): + arg_json = {} + size = len(sys.argv) + if size == 1: + return arg_json + elif size > 1 and (size - 1) % 2 != 0: + print(size) + log.logger.error("请输入正确的配置参数!") + raise SystemExit(1) + i = 0 + arg_key = {} + for arg in sys.argv: + arg_key[arg] = i + i = i + 1 + if "--dir_path" not in arg_key.keys(): + log.logger.error("请输入正确的扫描目录参数:{0}".format("--dir_path")) + raise SystemExit(1) + else: + __dir_arg = sys.argv[arg_key["--dir_path"] + 1] + dir_args = [] + for d_arg in __dir_arg.split(","): + dir_args.append(d_arg.strip()) + arg_json["__dir_path"] = dir_args + if "--output" not in arg_key.keys(): + log.logger.error("请输入正确的输出演员元数据目录参数:{0}".format("--output")) + raise SystemExit(1) + else: + arg_json["__output"] = sys.argv[arg_key["--output"] + 1] + if "--tmdb_token" not in arg_key.keys(): + log.logger.error("请输入正确的TMDB API TOKEN参数:{0}".format("--tmdb_token")) + raise SystemExit(1) + else: + arg_json["__tmdb_token"] = sys.argv[arg_key["--tmdb_token"] + 1] + return arg_json if __name__ == '__main__': + # 初始化日志 + log = __init_logger() + sys_args = __get_sys_args(log=log) # 扫描目录 - __dir_path = ["example/tvs"] + __dir_path = ["example/movies", "example/tvs"] # 输出演员元数据目录 __output = "data/metadata/person" # TMDB API TOKEN - __tmdb_token = "tmdb_token" - # 初始化日志 - log = __init_logger() + __tmdb_token = "eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiIxYTU4ODAxMGY5OTUwYWEyNThhYjFhYjJlMjI4NGVmYSIsInN1YiI6IjYxYmRmOGNjMzgzZGYyMDA0MjIzNDhjOSIsInNjb3BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uIjoxfQ.RPG8F8AELlK7MgrXDR2U0YRv61VteZZ9ponilnkQqkE" + if len(sys_args.keys()) > 0: + # 扫描目录 + __dir_path = sys_args["__dir_path"] + # 输出演员元数据目录 + __output = sys_args["__output"] + # TMDB API TOKEN + __tmdb_token = sys_args["__tmdb_token"] # 检查python版本 __check_version() # 开始执行主程序 # 默认 language="zh-CN" (简体中文),可以通过修改 "language" 的值变更获取元数据的语言类别 for __real_dir_path in __dir_path: - __execute(dir_path=__real_dir_path, output=__output, tmdb_token=__tmdb_token) + # __execute(log=log, dir_path=__real_dir_path, output=__output, tmdb_token=__tmdb_token) + pass diff --git a/scrape.py b/scrape.py new file mode 100644 index 0000000..99ac4f1 --- /dev/null +++ b/scrape.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +import os +import sys + +from analyze import Analyze +from tmdb import Tmdb + + +def __execute(log, dir_path, output, tmdb_token): + log.logger.info("------------------- 开始获取演员元数据及海报 -------------------") + __file_paths = [] + log.logger.info("当前执行元数据刮削识别的根文件夹:{0}".format(dir_path)) + for folder in os.listdir(dir_path): + __folder2 = os.path.join(dir_path, folder) + # 判断是否文件夹 + if os.path.isdir(__folder2): + for nfo_file in os.listdir(__folder2): + __child_file_path = os.path.join(__folder2, nfo_file) + if ".nfo" in os.path.basename(__child_file_path): + __file_paths.append(__child_file_path) + elif os.path.isfile(__folder2): + __file_name = os.path.basename(__folder2) + if ".nfo" in __file_name: + __file_paths.append(__folder2) + for __file_path in __file_paths: + log.logger.info("开始处理元数据刮削识别:{0}".format(__file_path)) + # __file_path = "example/神出鬼没 (2023) - 2160p.nfo" + __nfo_data = Analyze(file_path=__file_path).analyze() + for __actor in __nfo_data["actors"]: + __tmdbid = __actor["tmdbid"] + __actor_name = __actor["name"] + __name = __actor_name[1].lower() + __full_actor_name = __actor_name + "-tmdb-" + __tmdbid + __path_dir = os.path.join(output, __name, __full_actor_name) + if not os.path.exists(__path_dir): + os.makedirs(__path_dir) + # 如果存在元数据则不再进行刮削 + if "person.nfo" not in os.listdir(__path_dir): + Tmdb(log=log, tmdb_id=__tmdbid, actor_path=__path_dir, tmdb_token=tmdb_token).create_actor_nfo() + # 如果存在海报则不再进行刮削 + if "folder.jpg" not in os.listdir(__path_dir): + Tmdb(log=log, tmdb_id=__tmdbid, actor_path=__path_dir, tmdb_token=tmdb_token).get_actor_image() + log.logger.info("------------------- 结束获取演员元数据及海报 -------------------") + diff --git a/tmdb.py b/tmdb.py index 276161f..3f9411a 100644 --- a/tmdb.py +++ b/tmdb.py @@ -10,7 +10,7 @@ import utils.DateUtil as DateUtil # https://tmdb.nastool.org # https://t.nastool.workers.dev # https://api.themoviedb.org -api_url = "https://api.themoviedb.org" +api_url = "https://api.tmdb.org" image_url = "https://www.themoviedb.org" From 83e6540da41e26fd77ad6f762ed64a5e0ae6b6f3 Mon Sep 17 00:00:00 2001 From: Carol Date: Fri, 8 Sep 2023 14:22:22 +0800 Subject: [PATCH 4/8] =?UTF-8?q?add:=20=E6=96=B0=E5=A2=9E=E5=91=BD=E4=BB=A4?= =?UTF-8?q?=E8=A1=8C=E6=96=B9=E5=BC=8F=E5=90=AF=E5=8A=A8=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.py b/main.py index c96bf47..5133c7b 100644 --- a/main.py +++ b/main.py @@ -81,7 +81,7 @@ if __name__ == '__main__': # 输出演员元数据目录 __output = "data/metadata/person" # TMDB API TOKEN - __tmdb_token = "eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiIxYTU4ODAxMGY5OTUwYWEyNThhYjFhYjJlMjI4NGVmYSIsInN1YiI6IjYxYmRmOGNjMzgzZGYyMDA0MjIzNDhjOSIsInNjb3BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uIjoxfQ.RPG8F8AELlK7MgrXDR2U0YRv61VteZZ9ponilnkQqkE" + __tmdb_token = "token.eyJhdWQiOiIxYTU4ODAxMGY5OTUwYWEyNThhYjFhYjJlMjI4NGVmYSIsInN1YiI6IjYxYmRmOGNjMzgzZGYyMDA0MjIzNDhjOSIsInNjb3BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uIjoxfQ.RPG8F8AELlK7MgrXDR2U0YRv61VteZZ9ponilnkQqkE" if len(sys_args.keys()) > 0: # 扫描目录 __dir_path = sys_args["__dir_path"] From ce71421cb6c117ae70232a92f602cd167ede5226 Mon Sep 17 00:00:00 2001 From: Carol Date: Fri, 8 Sep 2023 14:29:03 +0800 Subject: [PATCH 5/8] =?UTF-8?q?add:=20=E6=96=B0=E5=A2=9E=E5=91=BD=E4=BB=A4?= =?UTF-8?q?=E8=A1=8C=E6=96=B9=E5=BC=8F=E5=90=AF=E5=8A=A8=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.py b/main.py index 5133c7b..e23bd8e 100644 --- a/main.py +++ b/main.py @@ -94,5 +94,5 @@ if __name__ == '__main__': # 开始执行主程序 # 默认 language="zh-CN" (简体中文),可以通过修改 "language" 的值变更获取元数据的语言类别 for __real_dir_path in __dir_path: - # __execute(log=log, dir_path=__real_dir_path, output=__output, tmdb_token=__tmdb_token) + __execute(log=log, dir_path=__real_dir_path, output=__output, tmdb_token=__tmdb_token) pass From b4c736182f4ed3cad431a0209edc68c1e667f18c Mon Sep 17 00:00:00 2001 From: Carol Date: Fri, 8 Sep 2023 14:29:17 +0800 Subject: [PATCH 6/8] =?UTF-8?q?add:=20=E6=96=B0=E5=A2=9E=E5=91=BD=E4=BB=A4?= =?UTF-8?q?=E8=A1=8C=E6=96=B9=E5=BC=8F=E5=90=AF=E5=8A=A8=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scrape.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/scrape.py b/scrape.py index 99ac4f1..5d5b1b9 100644 --- a/scrape.py +++ b/scrape.py @@ -1,13 +1,12 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- import os -import sys from analyze import Analyze from tmdb import Tmdb -def __execute(log, dir_path, output, tmdb_token): +def __execute(log, dir_path, output, tmdb_token, language="zh-CN"): log.logger.info("------------------- 开始获取演员元数据及海报 -------------------") __file_paths = [] log.logger.info("当前执行元数据刮削识别的根文件夹:{0}".format(dir_path)) @@ -37,9 +36,10 @@ def __execute(log, dir_path, output, tmdb_token): os.makedirs(__path_dir) # 如果存在元数据则不再进行刮削 if "person.nfo" not in os.listdir(__path_dir): - Tmdb(log=log, tmdb_id=__tmdbid, actor_path=__path_dir, tmdb_token=tmdb_token).create_actor_nfo() + Tmdb(log=log, tmdb_id=__tmdbid, actor_path=__path_dir, tmdb_token=tmdb_token, + language=language).create_actor_nfo() # 如果存在海报则不再进行刮削 if "folder.jpg" not in os.listdir(__path_dir): - Tmdb(log=log, tmdb_id=__tmdbid, actor_path=__path_dir, tmdb_token=tmdb_token).get_actor_image() + Tmdb(log=log, tmdb_id=__tmdbid, actor_path=__path_dir, tmdb_token=tmdb_token, + language=language).get_actor_image() log.logger.info("------------------- 结束获取演员元数据及海报 -------------------") - From 67774d0ffc8d81b53aac9bdb57a5a03f1e99a57d Mon Sep 17 00:00:00 2001 From: Carol Date: Fri, 8 Sep 2023 15:23:42 +0800 Subject: [PATCH 7/8] =?UTF-8?q?add:=20=E6=96=B0=E5=A2=9E=E5=85=83=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=96=87=E4=BB=B6=E8=BD=AC=E7=A7=BB=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- collect_metadata.py | 35 +++++++++++++++++++++++++++++++++++ main.py | 26 ++++++++++++++++++++------ 2 files changed, 55 insertions(+), 6 deletions(-) create mode 100644 collect_metadata.py diff --git a/collect_metadata.py b/collect_metadata.py new file mode 100644 index 0000000..fab538a --- /dev/null +++ b/collect_metadata.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +import os + + +def __move(log, dir_file_path, output): + with open(dir_file_path, "r") as read_f: + file_name = os.path.basename(dir_file_path) + if "tvshow" in file_name: + file_name = os.path.basename(os.path.dirname(dir_file_path)) + ".nfo" + output_file_path = os.path.join(output, file_name) + with open(output_file_path, "w") as write_f: + write_f.write(read_f.read()) + log.logger.info("当前完成文件转移:{0}".format(dir_file_path)) + + +def __collect_nfo(log, dir_path, output): + if not os.path.exists(output): + os.makedirs(output) + log.logger.info("------------------- 开始转移演员元数据NFO文件 -------------------") + __file_paths = [] + log.logger.info("当前转移元数据刮削识别的根文件夹:{0}".format(dir_path)) + for folder in os.listdir(dir_path): + __folder2 = os.path.join(dir_path, folder) + # 判断是否文件夹 + if os.path.isdir(__folder2): + for nfo_file in os.listdir(__folder2): + __child_file_path = os.path.join(__folder2, nfo_file) + if ".nfo" in os.path.basename(__child_file_path): + __move(log, __child_file_path, output) + elif os.path.isfile(__folder2): + __file_name = os.path.basename(__folder2) + if ".nfo" in __file_name: + __move(log, __folder2, output) + log.logger.info("------------------- 结束转移演员元数据NFO文件 -------------------") diff --git a/main.py b/main.py index e23bd8e..9a68142 100644 --- a/main.py +++ b/main.py @@ -4,6 +4,7 @@ import os import sys from utils.LoggerUtil import Logger from scrape import __execute +from collect_metadata import __collect_nfo def __init_logger(log_file="tmdb.log", level="info", back_count=3): @@ -23,7 +24,7 @@ def __init_logger(log_file="tmdb.log", level="info", back_count=3): return Logger(log_file_abspath, level=level, backCount=back_count) -def __check_version(): +def __check_version(log): version_info = sys.version_info if 3 > version_info.major: log.logger.error("当前Python版本不能小于3!") @@ -69,19 +70,29 @@ def __get_sys_args(log): raise SystemExit(1) else: arg_json["__tmdb_token"] = sys.argv[arg_key["--tmdb_token"] + 1] + if "--mode" not in arg_key.keys(): + log.logger.warn("未输入脚本执行模式,默认使用元数据刮削模式:{0}".format("--mode")) + arg_json["__mode"] = "scrape" + else: + mode_value = sys.argv[arg_key["--mode"] + 1] + if "collect" != mode_value and "scrape" != mode_value: + log.logger.error("请输入正确的脚本执行模式:{0}".format("collect(元数据文件转移)/scrape(元数据刮削)")) + raise SystemExit(1) + arg_json["__mode"] = mode_value return arg_json if __name__ == '__main__': # 初始化日志 - log = __init_logger() - sys_args = __get_sys_args(log=log) + __log = __init_logger() + sys_args = __get_sys_args(log=__log) # 扫描目录 __dir_path = ["example/movies", "example/tvs"] # 输出演员元数据目录 __output = "data/metadata/person" # TMDB API TOKEN __tmdb_token = "token.eyJhdWQiOiIxYTU4ODAxMGY5OTUwYWEyNThhYjFhYjJlMjI4NGVmYSIsInN1YiI6IjYxYmRmOGNjMzgzZGYyMDA0MjIzNDhjOSIsInNjb3BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uIjoxfQ.RPG8F8AELlK7MgrXDR2U0YRv61VteZZ9ponilnkQqkE" + __mode = "scrape" if len(sys_args.keys()) > 0: # 扫描目录 __dir_path = sys_args["__dir_path"] @@ -89,10 +100,13 @@ if __name__ == '__main__': __output = sys_args["__output"] # TMDB API TOKEN __tmdb_token = sys_args["__tmdb_token"] + __mode = sys_args["__mode"] # 检查python版本 - __check_version() + __check_version(log=__log) # 开始执行主程序 # 默认 language="zh-CN" (简体中文),可以通过修改 "language" 的值变更获取元数据的语言类别 for __real_dir_path in __dir_path: - __execute(log=log, dir_path=__real_dir_path, output=__output, tmdb_token=__tmdb_token) - pass + if "collect" == __mode: + __collect_nfo(__log, __real_dir_path, __output) + if "scrape" == __mode: + __execute(log=__log, dir_path=__real_dir_path, output=__output, tmdb_token=__tmdb_token) From 5105774bde5da44d9500ab828b9024455a288b65 Mon Sep 17 00:00:00 2001 From: Carol Date: Fri, 8 Sep 2023 15:28:42 +0800 Subject: [PATCH 8/8] =?UTF-8?q?add:=20=E8=A1=A5=E5=85=85=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c76b537..b4d5d83 100644 --- a/README.md +++ b/README.md @@ -45,13 +45,16 @@ pip3 install json **`参数说明`** * __dir_path: 目标文件夹路径 - * 例如电影存放于 `./movies/` 下,则该路径填写 `./movies` 的完整路径。 + * 例如电影存放于 `./movies/` 下,则该路径填写 `./movies` 的完整路径 * 为了兼容 `电视剧` 中不刮削 `季` 中的 `.nfo` 内容,因此只刮削 `__dir_path` 路径下一层文件夹及当前层下的 `.nfo` 文件(兼容./movies 下同级存放的视频及.nfo文件) * __output: 演员信息、图片输出路径 * __tmdb_token: TMDB 开发者API调用token * 登录 [TMDB](https://www.themoviedb.org/login) * 访问 [API](https://www.themoviedb.org/settings/api) * 复制 `API 读访问令牌` +* __mode: 脚本执行模式, 可选参数. 命令行执行脚本使用```--mode collect``` 调用 + * scrape: 刮削模式,从扫描目录直接识别nfo文件并刮削元数据和图片到输出目录中 + * collect: 转移模式,从扫描目录收集所有nfo文件并复制到输出目录中(不执行刮削操作) **`目录结构说明`** - ./movies @@ -67,6 +70,7 @@ pip3 install json - Season 1 (不刮削) ### 运行 +> 参数 `__mode` 为可选参数,具体请参考`参数说明`内容 #### 直接修改脚本文件方式 1. 修改 `main.py` 文件中 `if __name__ == '__main__':` 方法中 `__dir_path` 、 `__output` 、 `__tmdb_token` 参数值