首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

qBittorrent如何运行脚本 BT实现自动改名并方便Jellyfin的搜刮器

qBittorrent脚本让下载更便利

qBittorrent如何运行脚本 BT实现自动改名并方便Jellyfin的搜刮器

很多影视网站下载的视频名字大概是为了规避监测,命名非常奇葩,比如:z灼f流,y骨y等等。如果你使用了Jellyfin,Emby又或者是其他视频管理软件,搜刮器就会搜不到相应的电视剧的介绍,图片和字幕了,但是40多集电视剧每一集都要改就有些麻烦了。

还有一些电影,BT下载后会带有网站的一些网址或名称,比如:【高清影视之家发布 www.HDBTHD.com】,【高清影视之家首发 www.BBEDDE.com】等。还有目录里会放一些以MP4或者PNG结尾的假的宣传文件,这就会影响Jellyfin之类的搜刮相关的影视介绍和字幕。

如果你使用的是qBittorrent的话,那么你就可以使用它的“运行外部程序”功能,可以再BT下载创建时或者完成时运行不同的脚本。依据所有开发语言都是脚本语言的概念,你可以运行Bash脚本,也可以运行Python,当然也可以运行JS或者其他任何语言的脚本。如果你使用的是Windows系统,安装一下Python语言,然后就可以让qBittorrent自动运行你的python脚本了。比如:

自动重命名文件夹

删除图片及网站的宣传文件

重命名视频文件的名称

删除完成的种子

或者其他任何你想要的行动等等

如何找到qBittorrent“运行外部程序”功能?

可能有些人在qBittorrent的设置里并没有找到可以配置运行外部脚本的选项,其实这个选项并不在桌面应用的设置界面,而是在网页版界面的设置里。

qBittorrent Web UI截图

这是我设置了8181端口,这个可以在桌面应用-设置的“Web UI”选项里配置。

by itgeeker.net

这里有两个方式运行自定义脚本,qBittorrent称之为外部程序。一个是新增BT现在时,另一个是完成下载后运行。分别是:

新增 torrent 时运行外部程序

torrent 完成时运行外部程序

ITGeeker技术奇客这里 以BT下载完成后如何运行Python脚本为例与大家分享。

qBittorrent脚本参数

qBittorrent在配置的下方很贴心的附上了脚本运行可能需要的变量。这些是qBittorrent支持的参数(区分大小写):

%N:Torrent 名称

%L:分类

%G:标签(以逗号分隔)

%F:内容路径(与多文件 torrent 的根目录相同)

%R:根目录(第一个 torrent 的子目录路径)

%D:保存路径

%C:文件数

%Z:Torrent 大小(字节)

%T:当前 tracker

%I: 信息哈希值 v1

%J:信息哈希值 v2

%K: Torrent ID

提示:使用引号将参数扩起以防止文本被空白符分割(例如:”%N”)

qBittorrent的脚本运行命令如何配置?

WINDOWS运行PYTHON脚本命令格式:

D:\pyenv311_itgeeker_dev\Scripts\python.exe D:\download_dev\qbit_after.py "%F"

UBUNTU运行PYTHON脚本命令格式:

/bin/python3 /opt/qbit_after.py "%F" #或者使用Bash脚本 sh /opt/qbit_after.sh "%F"

前面是Python命令的完整路径,ITGeeker技术奇客在Windows里用的python虚拟环境,也建议使用虚拟环境以免和其他python环境冲突。

中间是脚本的完整路径,根据你脚本的实际位置填写。这里也可以是其他脚本,比如sh,js,perl等,但要和前面的运行命令统一。

最后是qBittorrent支持的参数”%F”,值得是下载后的BT内容完整目录。这里是把该参数传递给qbit_after.py这个脚本使用。

Ubuntu安装带有WebUI的qBittorrent

sudo apt install -y qbittorrent-nox

by itgeeker.net

Python运行脚本

接下来就是python命令的编写,这里分享ITGeeker技术奇客写的部分脚本:

if len(sys.argv) > 1: first_argv = sys.argv[1] print('first_argv: %s' % first_argv) is_file = check_is_a_file(first_argv) if not is_file: remove_files_from_folder(first_argv) else: update_film_name(first_argv)

提示:这里需要先判断一下(check_is_a_file)下载的是文件还是目录,有些BT下载后直接是文件,有些是目录。然后再进行相应操作。

by itgeeker.net

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OU1vZJIqwxIL4ys5qfaSrAAw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券