一个http和ftp并行文件下载程序。
parfive的Python项目详细描述
使用asyncio的并行文件下载程序。
用法
parfive的工作原理是创建一个downloader对象,将文件附加到该对象,然后 正在运行下载。parfive有一个同步api,但使用asyncio 并行下载文件。
一个简单的例子是:
from parfive import Downloader dl = Downloader() dl.enqueue_file("http://data.sunpy.org/sample-data/predicted-sunspot-radio-flux.txt", path="./") files = dl.download()
结果
parfive.Downloader.download返回一个parfive.Results对象,它是 已下载的文件名列表。它还跟踪任何 下载失败。
处理错误
如果文件下载失败,则存储来自服务器的url和响应 在由parfive.Downloader返回的Results对象中。这些可以用来 通知用户错误。(注意,进度条将在 不完整状态如果下载失败,即它将显示4/5 Files Downloaded)。
Results对象是具有额外属性errors的列表,此属性 返回命名元组的列表,其中这些命名元组包含.url 以及.response,它是aiohttp.ClientResponse或 aiohttp.ClientError对象。
安装
parfive在pypi上可用,您可以使用pip安装它:
pip install parfive
或者如果您想使用ftp下载:
pip install parfive[ftp]
要求
- Python3.5+
- aiohttp
- 全面质量管理
- aioftp(用于通过ftp下载)
许可证
麻省理工学院授权