Aget:一个类似于 aria2 的异步下载工具

2016-12-19 10:39:35 +08:00
 PeterD

github 地址

Aget 将下载请求分成多个小块,依次用异步下载。

安装

需要 Python >= 3.5

pip3 install aget

用法

aget https://cdn.v2ex.co/site/logo@2x.png

# 指定下载路径
aget https://cdn.v2ex.co/site/logo@2x.png -o v2ex.png

# 指定请求头
aget https://cdn.v2ex.co/site/logo@2x.png -H "User-Agent: Mozilla/5.0" -H "Accept-Encoding: gzip"

# 指定并发数量 (无限制)
aget https://cdn.v2ex.co/site/logo@2x.png -s 10

# 指定请求块大小
aget https://cdn.v2ex.co/site/logo@2x.png -k 10k

参数

-o OUT, --out OUT             # 下载路径
-H HEADER, --header HEADER    # 请求头
-X METHOD, --method METHOD    # 请求方法
-d DATA, --data DATA          # 请求 data
-t TIMEOUT, --timeout TIMEOUT # timeout
-s CONCURRENCY, --concurrency CONCURRENCY   # 并发数
-k CHUCK_SIZE, --chuck_size CHUCK_SIZE      # 请求块大小

! Enjoy

5522 次点击
所在节点    分享创造
18 条回复
cevincheung
2016-12-19 10:56:02 +08:00
unable to find vcvarsall.bat
PeterD
2016-12-19 11:40:58 +08:00
@cevincheung 现在只支持 *UNIX 类系统。。。
fffflyfish
2016-12-19 11:57:16 +08:00
哇哦,好东西,已 star ,但是我在 mac 下载墙外的东西的时候就会莫名的停下,然后 command+Z/C 都不管用,无法中断
fffflyfish
2016-12-19 12:51:16 +08:00
oh,sorry ,应该是 ctrl+z ,可以强行中断
tigerstudent
2016-12-19 13:51:52 +08:00
请问支持断点续传吗?
前段时间遇到一个 159GB 的文件要下载,还要登录验证的,无法用迅雷下载,很是困扰。
PeterD
2016-12-19 14:00:34 +08:00
@tigerstudent 默认支持断点续传
pandachow
2016-12-19 16:27:24 +08:00
求支持 py2.7.*
Tink
2016-12-19 16:39:00 +08:00
性能如何呀
PeterD
2016-12-19 17:32:34 +08:00
@Tink
性能要看你开多少并发数
用 baidu 盘非会员测试,开 -s 30 -k 200k 可以跑到 3~4M/s
PeterD
2016-12-19 17:33:58 +08:00
@pandachow py2.7 好像不能用 asyncio 库。这样就 py2.7 无缘了
hadoop
2016-12-19 17:43:38 +08:00
跟 axel 区别是啥
PeterD
2016-12-19 20:14:33 +08:00
@hadoop 并发的形式与 axel 没太多差别都是单线程,有差别的是块区的下载次序。

举个栗子:

开 3 个并发时, axel 是平均分段下载的(我尝试 axel 后推测的)

|=====> ======> ======> |

aget 是依据块大小(-k )依次来下载的

|==> ===> ==> |

如果下载的是视频文件,用 mpv 播放下载的临时文件就不会跳段。
PeterD
2016-12-19 20:17:17 +08:00
|=====>------======>-------======>-------|
|==>-===>-==>---------------------------------|
Tuccuay
2016-12-19 23:11:53 +08:00
度盘 -s 100 拖了个 2G 的文件然后:

ppwangs
2016-12-20 15:58:24 +08:00
star 一个有空学习下。
PeterD
2016-12-25 19:39:12 +08:00
@Tuccuay 搞错了分块函数的一个位,让最后一个字节不能下载。
现在已经修复。
qfdk
2016-12-26 07:01:52 +08:00
给楼主发个赞!!!要是可以显示百分比就最好了
PeterD
2016-12-26 11:32:05 +08:00
@qfdk 加了个百分比,试试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/328556

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX