一个功能强大的增强型下载模块,支持多线程下载、断点续传和进度显示
Project description
Enhanced Downloader
一个功能强大的Python下载模块,支持:
- 单线程和多线程下载
- 自动检测服务器是否支持分片
- 断点续传
- 进度显示
- 返回内容或保存到文件
- 智能下载策略
安装
pip install enhanced_downloader
使用示例
from enhanced_downloader import download_file
# 下载并保存到指定路径
download_path = download_file("https://example.com/large_file.zip", save_path="/path/to/save")
print(f"文件保存路径: {download_path}")
# 下载并返回内容
file_content = download_file("https://example.com/file.txt", return_content=True)
print(f"获取到文件内容,大小: {len(file_content)} 字节")
# 使用更多参数
download_path = download_file(
url="https://example.com/large_file.zip",
save_path="output.zip",
num_threads=20,
timeout=60,
temp_dir="/tmp/downloads",
min_size_for_multithread=5*1024*1024 # 5MB以上使用多线程
)
高级用法
from enhanced_downloader import EnhancedDownloader
# 创建下载器实例
downloader = EnhancedDownloader()
# 使用实例方法
downloader.download(
url="https://example.com/file.zip",
save_path="downloads/file.zip",
num_threads=30,
force_single_thread=False
)
参数说明
url: 下载链接save_path: 保存文件的路径,支持目录或完整文件路径return_content: 是否返回文件内容而不是保存到本地chunk_size: 下载块大小timeout: 请求超时时间(秒)num_threads: 多线程下载时的线程数temp_dir: 临时文件目录force_single_thread: 是否强制使用单线程下载min_size_for_multithread: 启用多线程下载的最小文件大小
版本更新
- 0.1.0: 初始版本
- 0.1.1: 优化多线程下载性能
- 0.1.2: 添加速度限制功能
- 0.1.3: 未指定目录时自动保存到最大可用磁盘,修复路径判断逻辑
- 0.2.0: 添加允许指定代理功能,优化下载速度
- 0.2.1:优化分片时记录的僵尸键清理
- 0.2.2:新增功能,运行断电续传,支持程序重复运行下载同一个文件
许可证
MIT License - 详见 LICENSE 文件
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
enhanced_downloader-0.2.3.tar.gz
(21.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file enhanced_downloader-0.2.3.tar.gz.
File metadata
- Download URL: enhanced_downloader-0.2.3.tar.gz
- Upload date:
- Size: 21.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83f04379817d2474a014599e688f06857191c2b638eb6737895fde945dbe9363
|
|
| MD5 |
700c7d9f7d60ee07ddcddfdcf4f0224a
|
|
| BLAKE2b-256 |
b5d0643592bcaa38cebce5349d71588afafc13749489b6f12dc45ba0fedde4e5
|
File details
Details for the file enhanced_downloader-0.2.3-py3-none-any.whl.
File metadata
- Download URL: enhanced_downloader-0.2.3-py3-none-any.whl
- Upload date:
- Size: 21.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8fe6b22612c3893a3947d60f9f213de1575edf5c5873612e030e86ffdf27b6a
|
|
| MD5 |
8d0c3028c9ab6262c1a16961f16ca10a
|
|
| BLAKE2b-256 |
8a875b0ae02d919a3135ebaf7ef046344be543e5680c0b140fe13725a6a5cd47
|