DV Helper 是一款影片信息搜索和整理工具,能够从网站抓取影片信息,下载封面图片、剧照、预告片,生成标准的NFO文件,并按照演员分类整理影片文件。
- 支持按影片编号搜索详细信息
- 批量处理文件夹中的视频文件
- 自动下载并裁剪封面图片
- 下载影片剧照和预告片
- 生成符合Kodi等媒体中心标准的NFO文件
- 按演员智能分类整理影片目录
- 支持登录功能以获取更多内容
- Python 3.10 或更高版本
- Windows 操作系统
- 已安装 Chrome 浏览器(用于登录功能)
- 网络连接(用于搜索和下载信息)
dvhelper [选项] 关键词或路径
选项:
-h, --help 显示帮助信息并退出
-v, --version 显示版本信息并退出
-d DEPTH, --depth DEPTH
文件夹搜索深度(默认:0,表示仅搜索当前目录)
-g, --gallery 下载影片的剧照和预告片
-l, --login 忽略已保存的Cookie强制进行新的登录操作
参数:
keywords_or_path 搜索关键词(如影片编号)或本地视频文件夹路径
可以使用逗号分隔多个关键词,或指定一个包含视频文件的文件夹路径进行批量处理
1. 搜索单个影片
# 搜索编号为 ABCDE-123 的影片信息并在当前目录下生成整理好的影片目录
dvhelper ABCDE-1232. 搜索多个影片
# 使用逗号分隔多个搜索关键词,批量搜索多个影片
dvhelper ABCDE-123,FGHIJ-4563. 批量处理文件夹中的视频
# 扫描 D:\Movies 目录及其一级子目录中的视频文件并生成整理好的影片目录
dvhelper D:\Movies -d 14. 强制重新登录
# 强制重新登录,忽略已保存的 Cookie 并进行新的登录操作
dvhelper ABCDE-123 -l5. 下载剧照和预告片
# 搜索编号为 ABCDE-123 的影片信息并下载剧照和预告片
dvhelper ABCDE-123 -g6. 组合使用选项
# 扫描 D:\Movies 目录及其一级子目录中的视频文件,下载剧照和预告片,并强制重新登录
dvhelper D:\Movies -d 1 -g -l处理完成后,影片文件将按照以下结构组织:
#整理完成#/
├── 演员名称1/
│ └── [影片编号](发行年份)/
│ ├── 影片编号.mp4 # 影片文件
│ ├── 影片编号.nfo # 影片元数据文件
│ ├── fanart.jpg # 原始封面图片
│ ├── poster.jpg # 裁剪后的海报图片
│ ├── gallery_01.jpg # 剧照文件
│ ├── gallery_02.jpg # 更多剧照文件
│ └── 影片编号_trailer.mp4 # 预告片文件
├── 演员名称2/
│ └── [影片编号](发行年份)/
│ └── ...
└── ==多演员==/ # 多演员影片的存放目录
└── ...
要进行二次开发,首先需要克隆项目文件到本地
git clone https://github.com/dvhelper/dvhelper.git
cd dvhelper然后使用如下方法安装项目依赖项
pip install -e .
python i18n/make.py compile
dvhelper
dvhelper . -o --lang此方法的优点是简单快捷,无需配置环境变量,可在任何位置直接使用
dvhelper命令,但是会将依赖项安装到全局 Python 环境中。
poetry install
poetry run python i18n/make.py compile
poetry run python dvhelper.py
poetry run python dvhelper.py . -o --lang此方法的优点是仅在当前环境中安装项目及其依赖,而不会影响全局 Python 环境,缺点是只能在项目目录下使用
dvhelper命令。
DV-Helper支持多语言国际化,使用gettext和Babel工具进行翻译管理。项目目前支持英文翻译,翻译文件位于i18n目录下。
要切换测试其它语言(英语),在命令行后增加
--lang参数即可。
.pot文件:Portable Object Template,包含需要翻译的字符串模板文件.po文件:Portable Object,包含已翻译的字符串文件.mo文件:Machine Object,编译后的二进制翻译文件,供程序运行时使用
项目提供了i18n/make.py脚本来管理翻译流程:
-
更新
.pot文件和.po文件# 在项目根目录下执行 python i18n/make.py update此命令会:
- 从源代码中提取所有需要翻译的字符串,更新
i18n/dvhelper.pot文件 - 使用新的pot文件更新现有的
i18n/<locale>/LC_MESSAGES/dvhelper.po文件
- 从源代码中提取所有需要翻译的字符串,更新
-
初始化新的翻译
# 在项目根目录下执行 python i18n/make.py create ja_JP此命令会:
- 提取字符串并创建
.pot文件 - 基于
.pot文件初始化新的.po文件(如果不存在)
- 提取字符串并创建
-
编译
.mo文件# 在项目根目录下执行 python i18n/make.py compile此命令会:
- 将
.po文件编译成二进制的.mo文件 - 编译后的
.mo文件位于i18n/<locale>/LC_MESSAGES/dvhelper.mo
- 将
- 要编辑翻译,您需要修改
i18n/<locale>/LC_MESSAGES/dvhelper.po文件 - 可以使用任何文本编辑器或专门的PO文件编辑器(如Poedit)进行编辑
- 编辑完成后,需要执行编译命令生成
.mo文件,程序才能使用新的翻译
- 初始化阶段:程序启动后会检查是否存在有效的 Cookies 文件,如果不存在则使用匿名会话。
- 输入处理:解析用户提供的关键词或文件夹路径。
- 信息抓取:连接到指定网站搜索影片信息,包括标题、演员、发行日期等。
- 资源下载:下载影片封面图片并进行裁剪处理。如果启用了
-g选项,还会下载剧照和预告片。- 剧照会以
gallery_01.jpg、gallery_02.jpg等格式保存 - 预告片会以
影片编号_trailer.扩展名格式保存,自动从 URL 中提取合适的扩展名
- 剧照会以
- 文件生成:创建标准的 NFO 文件,包含影片的完整元数据。
- 文件整理:按照演员名称分类创建目录,并将影片文件移动到相应目录。
- Cookie管理:程序会在首次登录后保存Cookie到本地,以便后续使用。Cookie文件位于程序同级目录下的
cookies.json。 - 登录操作:使用
-l参数强制重新登录时,程序会打开Chrome浏览器,用户需要手动完成登录操作。 - 影片命名:为了提高识别率,请确保影片文件名包含正确的影片编号。
- 支持的格式:程序支持多种常见视频格式,包括但不限于MP4、MKV、AVI、WMV等。
- 性能提示:批量处理大量视频文件时,建议适当设置搜索深度,避免处理过多无关文件。
- 剧照和预告片下载:使用
-g选项时,程序会尝试下载剧照和预告片,请注意这可能会增加处理时间和网络流量。预告片格式会自动从URL中提取,支持多种常见视频格式。
Q: 为什么有些影片无法找到?
A: 可能的原因包括:影片编号格式不正确、影片太新或太旧、网络连接问题等。请检查影片编号并重试。
Q: 为什么需要登录?
A: 登录后可以访问更多影片信息,特别是一些需要权限的内容。
Q: 支持哪些影片编号格式?
A: 支持常规格式(如ABCDE-123)、FC2格式(如FC2-123456)和特定厂商格式。
本项目采用 MIT 许可证 - 详情请查看 LICENSE 文件
本工具仅用于个人学习和研究目的,用户应遵守相关法律法规,不得将其用于任何违法或侵犯他人权益的活动。