百度网盘批量转存程序,基于 Python 3.10
+ Tkinter
构建,主要用于批量转存网络上分享的资源到自己的百度网盘。此外还带有批量分享和批量检测链接有效性的功能。
程序主界面:
下载及运行
程序开发编译环境为 Win10 x64
专业版,操作系统 Win7
以上可直接下载运行,其他操作系统需要自行编译或配置运行环境。
下载方式:
- 方式一:到 release 页面下载最新版的
exe
文件,文件名为BaiduPanFilesTransfers.exe
,下完可直接打开使用。 - 方式二:到 百度网盘 下载对应压缩包
BaiduPanFilesTransfers.zip
,下完后请解压缩再使用。
如果之前有运行过旧版本,直接用新版本文件覆盖掉旧文件即可使用。
手动编译
手动编译需要事先安装好 Python 3.6
以上版本。
编译步骤如下:
在安装有
Git
的主机上克隆本项目:git clone https://github.com/hxz393/BaiduPanFilesTransfers.git
或者在 项目主页 点击蓝色
<> Code
按钮选择Download ZIP
选项,下载 源码压缩包,下载完毕后解压缩压缩包。在命令行中切换到本项目路径。
例如,在 Windows 中,打开
CMD
命令提示符或PowerShell
,输入:cd B:\2.脚本\BaiduPanFilesTransfers-master
在 Linux/macOS 中,路径的分隔符会不同:
cd /root/BaiduPanFilesTransfers-master
如果使用
PyCharm
作为 IDE,可以直接在自带的控制台中输入后面的打包命令。使用
venv
创建并启用虚拟环境:python -m venv venv venv\Scripts\activate
在 Linux/macOS 下启动虚拟环境命令稍有不同:
python -m venv venv && source venv/bin/activate
安装项目依赖,指定使用国内科大的镜像源:
pip install -r requirements.txt --index https://mirrors.ustc.edu.cn/pypi/web/simple/
Windows 的 Python 安装包一般会默认安装
Tkinter
。macOS 用户则需要手动安装,对应 Homebrew 命令为:brew install python-tk # 也可以指定 Python 版本,如 brew install python-tk@3.12
使用
pyinstaller
命令编译打包成可执行文件:pyinstaller -F -w -i BaiduPanFilesTransfers.ico --hidden-import=tkinter --clean -n BaiduPanFilesTransfers BaiduPanFilesTransfers.py
如果过程没有异常,可执行文件
BaiduPanFilesTransfers.exe
会生成到dist
目录下面。(可选)使用
deactivate
命令退出当前环境:venv\Scripts\deactivate.bat
代码贡献
请提交 pull request 到 dev 分支,待我验证测试通过再合并到主分支。
开源许可
本程序采用 GPL-3.0 license 源授权许可协议,如果违反开源社区的基本准则,将开源项目据为私有用于商业用途,属于侵权行为,本人将追究法律责任。
程序使用
获取 Cookies 是必须步骤,大多数运行错误都是由 Cookies 不正确造成的,请仔细阅读获取方法。
获取 Cookies
使用 Chrome
或类似浏览器(最好用无痕式窗口模式)登录 百度网盘主页,完全载入后按 F12
键调出控制台。选择 网络(Network)
选项卡。
如下图所示,此时应该是空白的: 按
F5
刷新页面,下面会出现多条新记录,点击以 main
开头的记录,右边会出现菜单,显示 标头(Headers)
、响应(Response)
等内容。在标头页面向下滚动,找到请求标头中以 Cookie:
开头的行,后面有一串以 XF
开头的内容,这就是需要的 Cookies
。全部选中它们,右键选择复制,然后粘贴到程序相应的输入框内:
注意必须获取 main
页面下的 Cookies,其他页面的 Cookie 不完整,会导致各种转存失败问题。可以直接访问此地址:main 页面
输入保存位置
如果保存位置留空不填,资源会保存到根目录下,打开百度网盘主页就能看到。
输入文件保存位置后,如果目录不存在,会自动新建目录。如果目录已存在,则直接转存在指定目录下。
支持指定二级目录,例如,要保存到 test
目录内的 2024-01-02
目录中,填入 test/2024-01-02
即可。
保存位置(目录名)不能包含大多数英文特殊符号,包括:>
、|
、*
、?
、:
、\
等,否则程序会检测到并中断运行。
如果保存路径加文件名长度超过 255
个字符,用百度网盘客户端下载文件时会失败,所以应尽量使用短目录名。
输入网盘链接
程序已尽可能适应常见的百度网盘链接格式。如出现提示「不支持的链接」或「链接错误」,请检查输入链接是否符合以下格式之一:
https://pan.baidu.com/s/1nvBwS25lENYceUu3OMH4tg 6img
https://pan.baidu.com/s/1nvBwS25lENYceUu3OMH4tg?pwd=6img
https://pan.baidu.com/s/1nvBwS25lENYceUu3OMH4tg 提取码:6img
https://pan.baidu.com/s/1nvBwS25lENYceUu3OMH4tg 提取:6img
https://pan.baidu.com/s/1EFCrmlh0rhnWy8pi9uhkyA
https://pan.baidu.com/share/init?surl=W7U9g47xiDez_5ItgNIs0w
https://pan.baidu.com/e/1X5j-baPwZHmcXioKQPxb_w rsss
目录名 https://pan.baidu.com/s/1eOrU0S9VLoe4GgAy2gZlmw z6r4
执行批量转存
所有信息输入完毕后,点击「批量转存」按钮来执行批量转存百度网盘链接。
转存过程中可以「暂停/恢复」,也可以直接点击程序窗口右上角的关闭按钮来中止运行。 如果要加快转存速度,可以同时运行多个程序,分批并行转存。总转存速度不要超过每分钟60条链接。
执行批量分享
批量分享是指分享指定目录下的文件或文件夹,为每个项目生成一个分享链接。
执行批量分享前,同样需要先输入"Cookies"和要分享的目标路径,然后点击"批量分享"按钮准备执行。此时会弹出分享设置窗口:
设置好分享期限和提取码(不支持随机生成)后,点击确定开始执行批量分享,请等待运行完成。此时原先的链接输入框内会显示即将分享的文件名;日志输入框内会显示生成的分享链接和结果:
百度网盘有硬性限制,单个账号每天最多只能创建300个分享链接,超过后会报错,这是平台限制而非程序限制。
使用系统代理(可选)
程序默认会绕过网络系统代理,但无法绕过网络全局代理。
如果处于特殊网络环境,需要配置网络系统代理才能正常访问百度网盘,可勾选"系统代理"选项后再执行转存。
使用指定目录(可选)
用于将转存文件保存到多个不同的目录。效果如下:
勾选后,将支持类似"自设目录 https://pan.baidu.com/s/1eOrU0S9VLoe4GgAy2gZlmw z6r4"的链接格式。"自设目录"会在"转存目录"(步骤2中输入的目录)下创建,文件将转存到"自设目录"中。
如果输入的是普通链接,即不带目录名、以"http"开头的链接,则每个链接将单独保存在以数字命名的子目录中。例如,如果"转存目录"输入的是"test",则第一个链接会保存在"test/1"中,第二个链接保存在"test/2"中,以此类推。
注意,此模式要求必须输入转存目录。链接中的指定目录名不能包含空格,否则只会将空格前的部分作为目录名。
使用检测模式(可选)
勾选此模式后,点击"批量转存"运行,将对输入的链接可用性进行检查,而不执行实际的转存操作:
请勿频繁对相同的链接进行检测,这可能会导致出现验证码。
下载地址:
https://pan.baidu.com/s/1Ltq0m3UecWByLQohftvZLQ?pwd=rcx9
https://pan.xunlei.com/s/VONeq0E-4HQ7rp9zjDDMVUrSA1?pwd=mjgq#