根据nfo文件信息刮削相关演员信息及图片
Go to file
2023-09-12 10:30:44 +08:00
.github/workflows Create python-app.yml 2023-09-07 09:02:32 +08:00
example add: 刮削演员信息并生成相应目录结构和演员图片 2023-09-06 10:08:48 +08:00
utils fix: 修改元数据“添加时间”字段准确度 2023-09-08 16:48:06 +08:00
.gitignore add: 元数据文件 2023-09-09 22:29:20 +08:00
analyze.py fix: 修复“季”元数据内容识别 2023-09-08 15:49:59 +08:00
collect_metadata.py add: 新增元数据文件转移功能 2023-09-08 15:30:54 +08:00
error_tmdb_ids.txt add: 刮削异常重做机制 2023-09-11 21:24:42 +08:00
main.py delete: 删除无关数据 2023-09-12 10:30:44 +08:00
README.md add: 增加redo 2023-09-12 10:02:57 +08:00
redo.py add: 增加redo 2023-09-12 10:29:19 +08:00
scrape.py fix: 修复演员detail信息不存在问题 2023-09-09 10:30:50 +08:00
tmdb.py add: 增加redo 2023-09-12 10:29:19 +08:00

tmdb-person

Python TMDB https://blog.cnkj.site

根据nfo文件信息刮削相关演员信息及图片

解决docker部署的emby服务无法正常刮削到视频演员信息问题(通过nastool可以正常刮削到视频信息)

⚠️注意

受不同国家语言限制,部分刮削内容可能出现"GBK"异常提示,请使用 MacOS 或者 Linux 环境执行脚本即可

数据

example

emby 存储于metadata/peopel 中的数据示例

电视剧tvs 和 电影movies 的保存 .nfo 命名格式不一样。movies的 .nfo 文件以电影名为前缀, tvs 统一以 tvshow.nfo 命名

  • example/metadata/person/a: 英文演员信息
  • example/metadata/person/张: 中文演员信息
  • example/metadata/person/person.nfo: 演员元数据
  • example/tvs/一生一世/tvshow.nfo: 电视剧元数据
  • example/movies/神出鬼没 (2023) - 2160p.nfo: 电影元数据

data

实际刮削的演员信息存放路径

接口

https://developer.themoviedb.org/

  1. 演员信息刮削:https://developer.themoviedb.org/reference/person-details
  2. 图片统一前缀路径:https://www.themoviedb.org/t/p/original

使用

  • 环境Python3.9

最低要求Python3.8如果需要xml中生成standalone参数则必须使用Python3.9 及以上版本

安装相关pip依赖包

pip3 install requests
pip3 install os
pip3 install xml
pip3 install json

说明

参数说明

  • __dir_path: 目标文件夹路径
    • 例如电影存放于 ./movies/ 下,则该路径填写 ./movies 的完整路径
    • 为了兼容 电视剧 中不刮削 中的 .nfo 内容,因此只刮削 __dir_path 路径下一层文件夹及当前层下的 .nfo 文件(兼容./movies 下同级存放的视频及.nfo文件)
  • __output: 演员信息、图片输出路径
  • __tmdb_token: TMDB 开发者API调用token
    • 登录 TMDB
    • 访问 API
    • 复制 API 读访问令牌
  • __mode: 脚本执行模式, 可选参数. 命令行执行脚本使用--mode collect 调用
    • scrape: 刮削模式从扫描目录直接识别nfo文件并刮削元数据和图片到输出目录中
    • collect: 转移模式从扫描目录收集所有nfo文件并复制到输出目录中(不执行刮削操作)
    • redo: 重做模式,执行正常刮削数据中出现的异常进行重新处理

目录结构说明

  • ./movies

    • 流浪地球.mkv (不刮削)
    • 流浪地球.nfo (刮削)
    • 流浪地球2
      • 流浪地球2.mkv (不刮削)
      • 流浪地球2.nfo (刮削)
  • ./tvs

    • 三体
      • tvshow.nfo (刮削)
      • Season 1 (不刮削)

运行

参数 __mode 为可选参数,具体请参考参数说明内容

直接修改脚本文件方式

  1. 修改 main.py 文件中 if __name__ == '__main__': 方法中 __dir_path__output__tmdb_token 参数值
  2. 执行脚本
python3 main.py

命令行执行

注意参数 --dir_path 的值如果需要配置多个,请使用英文半角逗号拼接,不要有空格

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版本的依赖包安装