常用工具您现在的位置是:首页 > 工具箱 > 常用工具

curl、wget、Aria2 轻松实现文件批量下载

<a href='mailto:'>微wx笑</a>的头像微wx笑 2021-11-25常用工具 4 0关键字: curl  wget  Aria2  文件下载  

下载文件的工具、方法有很多,但是想批量的下载文件,很多工具都不够方便灵活,这里分别介绍几款工具,总有一款适合你。

迅雷已经用了 10 年,一直把它看作是速度最快也最方便的下载工具。自从干败了Flashget之后,好像还没有谁能超越它。wja无知

我没有使用最新版本的,一直使用一个比较好的版本,好像是5.8.4吧。
wja无知

它的批量下载是这样的:wja无知

image.pngwja无知

仅支持数字的有规律的网址。wja无知


wja无知

curl

使用curl很方便的批量下载:wja无知

curl -C - -O https://abc.xyz/[01-99].png

参数解释:wja无知

-C - 断点续载wja无知

-O 下载的文件另存为url路径中的文件名wja无知

-o 指定要保存的路径、文件名,只指定路径是不行的wja无知

批量下载会使用到的表达式有两种:wja无知


wja无知

{}wja无知

[]wja无知

{a,b,c}会遍历abc三个元素。wja无知


wja无知

例如:wja无知

curl https://{a,b,c}.com/index.html

会遍历:wja无知

https://a.com/index.html
https://b.com/index.html
https://c.com/index.html


wja无知

那么我要下载的文件名没有任何规律,但是我有一个文件列表,怎么办呢?wja无知

请看wgetwja无知


wja无知

wget

什么是wget?wja无知

wget是一个强力方便的命令行下的下载工具,可以通过HTTP和FTP协议(两种最广泛的互联网协议)从因特网中检索并获取文件。wja无知


wja无知

此外,wget还具有如下特点:wja无知


wja无知

以非交互方式工作,因而能够在用户注销后在后台进行工作(针对Linux command)。wja无知

在缓慢甚至不稳定的连接中依旧可以正常工作,支持断点续传功能(需要附加命令参数)。wja无知

支持HTML页面以及FTP站点的递归检索,您可以使用它来获取网站的镜像,或者像网页机器人(网页爬虫)一样遍历网络。wja无知

使用FTP协议时,支持通配符和目录的递归镜像匹配。wja无知

在文件获取时可以增加时间标记,因此可以自动识别远程文件自上次检索后是否发生更改,并自动检索新版本。wja无知

支持代理服务器,以减轻网络负载,加快检索速度。同时还提供了经由防火墙的访问。如果需要使用socks网关,可以获取socks库并编译wget以支持socks。wja无知

基本命令格式:wja无知

wget [option] [URL]
[--option]
-o, –output-file=FILE 把记录写到FILE文件中
-a, –append-output=FILE 把记录追加到FILE文件中
-i, –input-file=FILE 下载在FILE文件中出现的URLs
-F, –force-html 把输入文件当作HTML格式文件对待
-B, –base=URL 将URL作为在-F -i参数指定的文件中出现的相对链接的前缀
-V, –version 显示wget的版本后退出
-h, –help 打印语法帮助
-b, –background 启动后转入后台执行
-e, –execute=COMMAND 执行`.wgetrc’格式的命令,wgetrc格式参见/etc/wgetrc或~/.wgetrc
…


wja无知

Wget for windowswja无知

项目主页:Windows binaries of GNU Wgetwja无知


wja无知

Wget for Windows 的安装:wja无知

项目主页中提供了两种安装方式(使用 exe 应用程序安装与 zip 压缩包安装),此处仅介绍ZIP压缩包安装方式。wja无知

第一步,获取 Wget for Windows:wja无知

前往项目主页,下载 ZIP 格式程序文件,wja无知

解压缩,并存放至系统目录下(比如:C:\windows)。wja无知

如果你是一位大佬,有自己的习惯,那么按照自己的习惯好了。wja无知

指定一个文件列表,批量下载文件wja无知

列表文件格式如下:wja无知

http://s2.youyu18.com/emo/com/0.gif
http://s2.youyu18.com/emo/com/1.gif
http://s2.youyu18.com/emo/com/2.gif
http://s2.youyu18.com/emo/com/3.gif
http://s2.youyu18.com/emo/com/4.gif
http://s2.youyu18.com/emo/com/5.gif

对,就是这样,一行一个url,不需要做任务处理,假设文件名为:list.txt
wja无知

wget批量下载命令如下:wja无知

wget -i list.txt

这就OK了,是不是特别简单?wja无知


wja无知


wja无知

更多内容可参见:

Wget - Wikipediawja无知

每天一个linux命令(61):wget命令wja无知

How to use wget command in linuxwja无知

GNU-Wget 项目主页wja无知


wja无知

怎么样,满足需求了吗?wja无知

什么?还没有?wja无知

你想下载的BT资源?要支持BT种子,支持磁力链?还要分片多线程下载?wja无知

Aria2

我在TS助手 v3.52 中发现了一个好东西:Aria2,文件名是:aria2c.exewja无知

Aria2需要通过配置文件来配置一些基础项,也可以在运行时指定。wja无知

如果你有一个列表文件,批量下载的方法像 wget 的用法完全一样。wja无知

详细的使用方法参考:https://zhuanlan.zhihu.com/p/37021947 wja无知

我这里先不详细介绍了。wja无知

本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0 许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/toolbox/common/2021-11-25/833.html

很赞哦! () 有话说 ()