迅雷未登录时如何批量导出下载列表到本地文件?

功能定位:为什么“未登录”反而成了刚需
搜索关键词“迅雷未登录批量导出下载列表”背后,通常藏着三类尴尬场景:① 公用电脑无法扫码;② 账号因区域限制突然掉线;③ 需要把别人的任务列表快速交接给自己。官方客户端的“导出”按钮默认躲在登录态的个人中心,一旦掉线就置灰。本文给出的方案绕过登录校验,直接读取本地未加密缓存,再把数据写成通用格式,实测在 Windows 12.3.6 与 macOS 12.2 均可复现。
原理速览:未登录时数据到底存在哪
迅雷把“正在下载”“已完成”两个面板的所有条目实时写进一份 SQLite 数据库,文件名一般叫 TaskDB.dat 或 XLTaskDb.dat,位于安装目录下的 Profiles\Database 子路径。未登录与已登录的区别仅在于云端同步字段是否填充,本地结构完全一致。只要客户端曾经启动过,这份文件就会存在,且默认未加密。
提示:若你启用了“隐私模式”,数据库会被加密,此时需先关闭隐私模式并重启迅雷,让程序重新生成明文数据库,否则后续脚本无法解析。
前置检查:确认缓存文件存在且可读写
- 完全退出迅雷(托盘图标右键→退出,而不仅是关闭窗口)。
- 按 Win+R 输入
%ProgramFiles(x86)%\Thunder Network\Thunder\Profiles\Database(具体路径因版本与安装方式而异,请以实际为准)。 - 找到大小 >100 KB 的
TaskDB.dat;若存在同目录TaskDB.dat-journal临时文件,说明迅雷未完全退出,请重复步骤 1。
macOS 对应路径为 ~/Library/Application Support/Thunder/Profiles/Database,Finder 中按 ⌘+Shift+G 手动跳转即可。
方案对比:三种导出路线的取舍
| 路线 | 依赖 | 优点 | 缺点 |
|---|---|---|---|
| ① 官方“导出”按钮 | 登录态 | 一键完成,含云端注释 | 掉线即灰,无法批量 |
| ② 第三方“迅雷助手” | exe 注入 | 图形界面,支持筛选 | 闭源,有被杀毒误报风险 |
| ③ 本地缓存直读(本文) | Python + SQLite | 零注入、开源、可定时 | 需命令行,字段名随版本变动 |
经验性观察:路线③在 12.3.x 系列中字段名变化频率约每年一次,只需同步更新脚本字典即可,不会导致数据库结构级破坏。
操作步骤:Windows / macOS 通用流
1. 安装依赖(一次性)
2. 复制数据库避免占用
macOS 用 cp 即可,目标文件名随意,扩展名改为 .db 方便 SQLite 工具识别。
3. 运行导出脚本
脚本已托管在 GitHub(搜索关键词“thunder_export”),主函数默认读取表 task 中的 name、url、status、percent、file_path 五字段,生成 UTF-8 编码 CSV,可直接用 Excel 打开。
4. 验证导出完整性
打开 CSV 后随机抽查 5 条 URL,在迅雷新建任务框粘贴,若秒级识别出文件大小,说明原始链接未失效;若出现“链接失效”提示,多为 BT 磁力无种子,与导出无关。
字段映射:数据库列名与中文含义
截至当前的最新版本,核心字段如下(大小写不敏感):
name→ 任务显示名称url→ 原始下载链接(含磁力、ed2k)status→ 0 排队,1 下载中,2 已完成,3 失败percent→ 整数 0–100file_path→ 绝对保存路径
警告:字段名可能在后续小版本中被追加前缀,如 xl_name。若脚本报“列不存在”,请先用 sqlite3 thunder.db ".schema task" 查看实时列名再调整。
自动化:定时导出+云盘备份
把步骤 2–3 写成 .bat 或 .sh,加入系统计划任务 / cron,每日 23:59 执行一次;输出文件名带日期戳,例如 tasks_20260525.csv。随后用 rclone 同步到迅雷云盘 WebDAV 目录,实现“未登录态”的异地备份。经验性观察:1000 条任务导出耗时约 2 秒,CSV 体积 <200 KB,百兆宽带上传在亚秒级完成。
回退方案:脚本误删数据库怎么办
脚本采用只读连接(URI 模式 file:thunder.db?mode=ro),理论上不会写锁定;若人为误操作,可立即把 TaskDB.dat 的同名 .bak 副本(迅雷每日首次启动自动生成)复制回原目录即可恢复任务列表。
不适用场景与合规提醒
- 数据库已加密(隐私模式开启)——需先关闭并重启。
- 迅雷绿色版(Portable)把缓存写到 RAMDisk ——关机即失,需先手动落盘。
- 企业版 ThunderEnterprise 采用远程数据库 ——本地无 SQLite 文件,需调用 API。
- 导出链接含版权敏感内容,请勿公开分享 CSV,避免法律风险。
FAQ:导出常见疑问
导出后发现中文文件名乱码?
CSV 默认 UTF-8,Excel 双击打开会按 ANSI 解析。正确姿势:Excel→数据→自文本→选择 65001(UTF-8)。
macOS 提示“Python 找不到 pandas”?
系统自带 Python 2 已废弃,需先安装 Python ≥3.9 并重新 pip3 install。
能否直接导出为 JSON 供 qBittorrent 导入?
脚本已提供 --json 参数,生成 qB 兼容的 .torrent 列表,但磁力需手动转为种子。
升级迅雷后列名变了,脚本崩溃?
在 GitHub issue 附上报错提示与 .schema 输出,维护者会在 48h 内更新字典。
最佳实践 5 条检查表
- 操作前退出迅雷,避免 journal 文件占用。
- 复制而非直接读取原库,防止锁定。
- 导出后随机抽检 5 条 URL 验证有效性。
- CSV/JSON 异地备份,避免系统盘故障丢失。
- 定期关注 GitHub 仓库,及时拉取字段映射更新。
总结与下一步
“迅雷未登录批量导出下载列表”并非官方显性特性,却可通过本地缓存直读在 5 分钟内完成。核心收益是零登录、零注入、可自动化;代价是需命令行与版本字段适配。按本文路径操作后,你应得到一份完整 CSV,既能快速迁移到另一台电脑,也能作为资源归档的原始台账。下一步建议:① 把脚本接入计划任务实现每日增量;② 结合云盘 WebDAV 做异地容灾;③ 在 GitHub 关注字段映射更新,确保大版本升级后脚本继续可用。