V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
jdjd
V2EX  ›  问与答

请问 aria2 怎么同时下载多个任务

  •  
  •   jdjd · 2018-05-10 07:41:08 +08:00 via iPhone · 10759 次点击
    这是一个创建于 2391 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Windows 平台
    写了一个十几万行的 bat 下载十几万个文件,一个文件几十 k
    运行起来却是一个一个下载,要很多时间
    请问有什么办法可以同时下载多个文件呢
    谢谢
    18 条回复    2018-05-10 18:49:51 +08:00
    paranoiagu
        1
    paranoiagu  
       2018-05-10 07:54:06 +08:00 via Android
    不知道对不对,我觉得应该是:

    aira2 启服务,开启 rpc,然后通过 rpc 添加任务。
    live2490
        2
    live2490  
       2018-05-10 08:20:59 +08:00 via Android
    为什么不用 idm ?
    SupperMary
        3
    SupperMary  
       2018-05-10 08:23:08 +08:00 via Android
    同意 idm,把链接存为 txt 导入
    jdjd
        4
    jdjd  
    OP
       2018-05-10 08:29:45 +08:00 via iPhone
    @SupperMary
    @live2490
    请问 idm 能不能在 txt 里面添加下载链接的同时对下载的文件进行重命名
    例如把链接 abc.com/a.mp3 下载的文件改成 b.mp3
    有一个 aria2 的图形版 persepolis download manager,也支持导入 txt,但是不支持下载的文件同时重命名
    写了个 bat 运行 aria2,可以在 bat 里面重命名,但是就是只能一个一个下载,太慢,24 小时也就下 2 万个文件
    qsnow6
        5
    qsnow6  
       2018-05-10 08:33:08 +08:00
    RPC
    livelazily
        6
    livelazily  
       2018-05-10 08:33:56 +08:00   ❤️ 1
    试试这样运行

    aria2c --max-concurrent-downloads=10 --input-file=download-list.txt

    dowload-list.txt 里面是需要下载的链接列表
    详细的参数说明:
    https://aria2.github.io/manual/en/html/aria2c.html#basic-options
    znood
        7
    znood  
       2018-05-10 08:35:20 +08:00 via iPhone
    自己写个多线程下载就好了
    jdjd
        8
    jdjd  
    OP
       2018-05-10 08:44:10 +08:00 via iPhone
    @livelazily 好像还是不能实现我四楼说的功能
    livelazily
        9
    livelazily  
       2018-05-10 09:03:39 +08:00
    @jdjd download-list.txt 里面其实都是可以带上 aria2 的参数的, 可以直接指定另存为的文件名.

    https://cdnjs.cloudflare.com/ajax/libs/material-design-lite/1.3.0/material.blue_grey-amber.min.css
    out=1.txt
    https://cdnjs.cloudflare.com/ajax/libs/material-design-lite/1.3.0/material.blue_grey-blue.min.css
    out=2.txt
    https://cdnjs.cloudflare.com/ajax/libs/material-design-lite/1.3.0/material.blue_grey-cyan.min.css
    out=3.txt

    把上面的内容存成 download-list.txt 然后执行
    aria2c --input-file=download-list.txt
    试试

    input-file 能用的参数和示例能在这里找到:
    https://aria2.github.io/manual/en/html/aria2c.html#input-file
    tees
        10
    tees  
       2018-05-10 09:28:24 +08:00   ❤️ 1
    aria2 不用图形界面也是可以支持同时下载多个文件。使用--input-file=download-list.txt 就可以了。
    从命名需要在 download-list.txt 里面指定。
    如:
    http://xxxx.xxxx/movie.mp4
    out=不可描述.mp4
    http://xxxx.xxx/pic.zip
    out=不可描述.zip

    url 地址一行
    out 在 URL 下面一行,out 前面有个空格
    zjb861107
        11
    zjb861107  
       2018-05-10 10:09:01 +08:00
    重命名的话,用 URL 的参数 fsname 字段即可解决。
    如果没有这个字段,手动通过比如正则表达式添加;如果有的话,通过正则修改即可。
    比如我这个链接: http://xxxx.com/store_raw_download?buid=17541&uuid=d7b864cbb7af700bad17d0ed494b1e5b&fsname=427_Huawei_HUAWEI G730T00_960x540_20180507141442_QQ_5.0.0_Androidwithperformancelogs_without_preinitTbs.zip ,
    这里 HUAWEI 与 G730T00 之间多了个空格,如果 aria2 直接下载的时候文件名就错了。通过 notpad++搜索`fsname=(\d+)_.*.zip`然后替换为`fsname=\1.zip`,就解决我的问题了
    jdjd
        12
    jdjd  
    OP
       2018-05-10 10:29:11 +08:00 via iPhone
    @livelazily
    @tees
    谢谢,我试试,我刚刚试的时候用的是 --out= ,报错了
    另外问一下,下载到时候出现不少类似这个的命令行
    DL:707KiB][#1a8e4d 0B/24KiB(0%)][#cdee2b 16KiB/25KiB(62%)][#3ef7c8 0B/0B][#d175ef 0B/24KiB(0%)][#4e7512 0B/19KiB(0%)](+95)
    这个是什么意思呢,是不是表示下载出错了
    tees
        13
    tees  
       2018-05-10 11:01:10 +08:00
    这表示多个文件的下载进度
    jdjd
        14
    jdjd  
    OP
       2018-05-10 11:03:54 +08:00 via iPhone
    @tees 好的,谢谢
    另外请问有没有什么办法,能够知道是不是所有的下载都已经正常完整无误下载了呢,毕竟十几万个文件,不知道有没有出错的
    tees
        15
    tees  
       2018-05-10 11:22:05 +08:00
    在最后会有下载的任务的状态。
    感觉你先试个 1000 个。
    jdjd
        16
    jdjd  
    OP
       2018-05-10 16:05:00 +08:00 via iPhone
    @tees 另外想问问
    我通过搜索,添加了一个 aria2.conf,aria2.log aria2.session
    可是我发现我用的时候好像不起作用,log 和 session 都完全没有修改过,已经在 conf 里面添加了对日志和任务的保存
    不知道是不是因为我的软件是 aria2c.exe ,那些 conf log session 文件不是 aria2 而不是 aria2C,但是我看网上都是这样,应该不是这个原因
    tees
        17
    tees  
       2018-05-10 18:26:54 +08:00
    linux 下,aria2.conf 是放在~/.aria2/下的。
    win 下的,估计你要多试一下了。
    jdjd
        18
    jdjd  
    OP
       2018-05-10 18:49:51 +08:00 via iPhone
    @tees
    谢谢
    win 下就是和 aria2c.exe 放一个文件夹的,看那些教程的截屏就这样
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1254 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 18:10 · PVG 02:10 · LAX 10:10 · JFK 13:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.