curl、wget、Aria2 轻松实现文件批量下载
微wx笑 2021-11-25【常用工具】 4 0关键字: curl wget Aria2 文件下载
下载文件的工具、方法有很多,但是想批量的下载文件,很多工具都不够方便灵活,这里分别介绍几款工具,总有一款适合你。
迅雷已经用了 10 年,一直把它看作是速度最快也最方便的下载工具。自从干败了Flashget之后,好像还没有谁能超越它。
我没有使用最新版本的,一直使用一个比较好的版本,好像是5.8.4吧。
它的批量下载是这样的:
仅支持数字的有规律的网址。
curl
使用curl很方便的批量下载:
curl -C - -O https://abc.xyz/[01-99].png
参数解释:
-C - 断点续载
-O 下载的文件另存为url路径中的文件名
-o 指定要保存的路径、文件名,只指定路径是不行的
批量下载会使用到的表达式有两种:
{}
[]
{a,b,c}会遍历abc三个元素。
例如:
curl https://{a,b,c}.com/index.html
会遍历:
https://a.com/index.html https://b.com/index.html https://c.com/index.html
那么我要下载的文件名没有任何规律,但是我有一个文件列表,怎么办呢?
请看wget
wget
什么是wget?
wget是一个强力方便的命令行下的下载工具,可以通过HTTP和FTP协议(两种最广泛的互联网协议)从因特网中检索并获取文件。
此外,wget还具有如下特点:
以非交互方式工作,因而能够在用户注销后在后台进行工作(针对Linux command)。
在缓慢甚至不稳定的连接中依旧可以正常工作,支持断点续传功能(需要附加命令参数)。
支持HTML页面以及FTP站点的递归检索,您可以使用它来获取网站的镜像,或者像网页机器人(网页爬虫)一样遍历网络。
使用FTP协议时,支持通配符和目录的递归镜像匹配。
在文件获取时可以增加时间标记,因此可以自动识别远程文件自上次检索后是否发生更改,并自动检索新版本。
支持代理服务器,以减轻网络负载,加快检索速度。同时还提供了经由防火墙的访问。如果需要使用socks网关,可以获取socks库并编译wget以支持socks。
基本命令格式:
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 …
Wget for windows
项目主页:Windows binaries of GNU Wget
Wget for Windows 的安装:
项目主页中提供了两种安装方式(使用 exe 应用程序安装与 zip 压缩包安装),此处仅介绍ZIP压缩包安装方式。
第一步,获取 Wget for Windows:
前往项目主页,下载 ZIP 格式程序文件,
解压缩,并存放至系统目录下(比如:C:\windows)。
如果你是一位大佬,有自己的习惯,那么按照自己的习惯好了。
指定一个文件列表,批量下载文件
列表文件格式如下:
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
wget批量下载命令如下:
wget -i list.txt
这就OK了,是不是特别简单?
更多内容可参见:
How to use wget command in linux
怎么样,满足需求了吗?
什么?还没有?
你想下载的BT资源?要支持BT种子,支持磁力链?还要分片多线程下载?
Aria2
我在TS助手 v3.52 中发现了一个好东西:Aria2,文件名是:aria2c.exe
Aria2需要通过配置文件来配置一些基础项,也可以在运行时指定。
如果你有一个列表文件,批量下载的方法像 wget 的用法完全一样。
详细的使用方法参考:https://zhuanlan.zhihu.com/p/37021947
我这里先不详细介绍了。
本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0 许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/toolbox/common/2021-11-25/833.html