脚本下载:种子转磁力.py
📌 简介
本脚本用于将本地的 .torrent
种子文件批量转换为 磁力链接(Magnet Link)。无需依赖命令行参数,使用交互式方式让用户指定输入路径和输出文件,适合快速批量转换种子文件为磁力链接。
🐍 Python 版本要求
- Python 版本:3.6+
- 建议版本:3.8 - 3.11 (其他版本如需使用,请确保
bencodepy
兼容)
📦 Python 安装指引
📦.1 安装 Python
Windows 系统
- 访问 Python 官网
- 下载 Python 3.x 安装包(推荐版本:3.8 - 3.11)
- 安装时勾选 Add Python to PATH
- 安装完成后,打开命令提示符(CMD)输入:
python --version
应显示 Python 的版本号,如 Python 3.9.7
macOS / Linux 系统
macOS 用户:可通过 Homebrew 安装 Python:
brew install python
Linux 用户(Ubuntu/Debian):
sudo apt update sudo apt install python3
检查版本:
python3 --version
📦 依赖库安装
必要库:bencodepy
用于解析
.torrent
文件内容
安装方式:
pip install bencodepy
- 如果遇到权限问题,可以添加
--user
参数(避免需要 root 权限):
pip install --user bencodepy
- 如果安装失败或遇到依赖问题,请尝试升级
pip
:
pip install --upgrade pip
📂 脚本功能简介
- 遍历指定目录及其子目录,查找所有的
.torrent
文件。 - 对每个
.torrent
文件进行解析,生成对应的磁力链接。 - 磁力链接保存在指定的输出文件中,格式如下:
magnet:?xt=urn:btih:info_hash&dn=文件名&tr=tracker_url...
📌 使用流程
第一步:运行脚本
确保脚本文件名称为 种子转磁力.py
,可以在终端(命令行)中执行:
python 种子转磁力.py
✅ 注意:如果系统中安装了多个 Python 版本,请确保使用的是 Python 3.x,而不是 Python 2。
第二步:输入种子文件所在目录
程序运行后,会提示用户输入包含 .torrent
文件的文件夹路径:
请输入包含 .torrent 文件的文件夹路径:
- 请输入合法的目录路径,程序将自动验证路径是否存在。
第三步:设置输出文件名(可选)
程序将提示用户输入输出文件名:
请输入输出文件名 (直接按回车则默认为 magnet_links.txt):
- 如果用户直接按下回车,输出文件名将默认为
magnet_links.txt
。
第四步:处理并输出结果
程序会自动遍历指定目录下的所有 .torrent
文件,并依次转换磁力链接。
- 所有生成的磁力链接将被写入到
magnet_links.txt
文件中(或用户自定义的文件名)。 - 转换完成后,脚本会输出磁力文件的保存路径。
📝 输出说明
磁力链接组成:
xt
:用于标识种子文件的唯一信息(基于 Torrent 文件的info
哈希)dn
:用于显示种子名称tr
:用于指定 Tracker 地址(如有)
示例输出:
magnet:?xt=urn:btih:a1b2c3d4e5f60123456789abcdef1234567890ab&dn=电影名称&tr=udp://tracker.example.com
❗️ 注意事项
- 脚本会跳过以下情况的
.torrent
文件:- 文件损坏或不是合法 Torrent 格式
- 文件中缺少
info
字段
- 输出的磁力链接中,名称与 Tracker 地址会进行 URL 编码处理,避免特殊字符带来问题。
- 输出文件默认使用 UTF-8 编码格式,适用于大多数系统。
💡 常见问题解答(FAQ)
Q1: 为什么我得到的磁力链接没有显示名称?
A: 如果
.torrent
文件中没有name
字段,或者字段名称编码错误,将无法显示名称。请检查种子文件是否完整。
Q2: 如何批量处理多个 .torrent
文件?
A: 脚本默认会遍历指定路径的目录和所有子目录,自动识别
.torrent
文件并进行转换,无需手动逐个处理。
Q3: 可以指定多个输出文件吗?
A: 目前不支持多个输出文件,但您可以运行多次脚本,指定不同的输出文件名。