一个集合多个网盘,获取直链并提供下载接口的Python工具集合。 源码还在整理中, 有需要的话,请提Issue。
- 支持多种网盘平台(目前支持TeraBox和Baidu)
- 获取网盘分享链接的直链下载地址
- 提供统一的下载接口
- 支持断点续传下载
- 支持目录上传
- 支持文件分享
- 支持文件转存
- 支持文件列表查看
- 支持文件删除
- 支持文件移动
- 支持目录创建
- 简单易用的API接口
- ✅ TeraBox(原Dubox)
- ✅ Baidu网盘(基础框架已搭建)
在使用前,您需要获取对应网盘的Cookie信息。
import os
from TeraBox import Terabox
# 配置Cookie
COOKIE = "your_terabox_cookie_here"
# 创建TeraBox实例
tera = Terabox(COOKIE)
# 获取分享链接直链
share_link = "https://1024terabox.com/s/1M6eL1hkvBNxG7bAYjoayeg"
direct_link_info = tera.get_dlink(share_link)
print(f"直链信息: {direct_link_info}")
# 下载文件
download_path = os.getcwd() # 当前目录
result = tera.download(direct_link_info, download_path)
print(f"下载结果: {result}")主要方法
get_dlink(link): 获取分享链接直链信息download(link_info, save_path): 下载文件到指定路径upload_file(local_file, remote_path): 上传本地文件到远程路径upload_dir(local_dir, remote_path): 上传本地目录到远程路径share_link(path): 创建远程文件的分享链接trans_save(link, save_path): 将分享文件转存到自己的网盘list_files(path): 列出指定路径下的文件列表delete_files(files): 删除指定的文件列表move_files(src_paths, dest_paths): 移动文件到新路径make_dir(path): 创建远程目录
wangpan/ # 项目根目录
├── app/ # 下载客户端,支持多平台(macOS、Linux、Windows)
│ ├── aria2/ # Aria2下载工具目录
│ │ ├── darwin/ # macOS平台的Aria2二进制文件
│ │ ├── linux/ # Linux平台的Aria2二进制文件
│ │ └── win32/ # Windows平台的Aria2二进制文件
│ ├── src/ # 应用程序源代码
│ │ ├── electron/ # Electron主进程代码
│ │ └── render/ # Electron渲染进程代码
├── frontend/ # 网页前端代码目录
│ ├── src/ # 前端源代码
└── server/ # 服务器代码目录
├── Baidu/ # 百度网盘API实现
│ ├── __init__.py # Baidu包初始化文件
│ └── baidu.py # 百度网盘核心功能实现
├── TeraBox/ # TeraBox API实现
│ ├── __init__.py # TeraBox包初始化文件
│ └── terabox.py # TeraBox核心功能实现
├── main.py # 示例代码和测试文件
├── public/ # 公共API目录
│ ├── __init__.py # public包初始化文件
│ └── api.py # 公共API接口实现
├── server.py # 服务器主程序
- Fork 本项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
- 本项目仅供学习和研究使用,请遵守各网盘平台的用户协议
- 不要滥用本工具,以免给网盘平台带来不必要的负担
- 建议在使用时合理控制请求频率
- Cookie信息包含您的登录凭证,请妥善保管,不要泄露给他人
MIT License
- 初始版本发布
- 支持TeraBox的完整功能
- 搭建Baidu网盘的基础框架
如有问题或建议,欢迎提交Issue或Pull Request。