Wget 使用方法简介

2023-01-19 19:01:56 浏览数 (1)

导读

本文将介绍wget的基本使用方法,和一些高级用法,比如递归下载等。对于经常在FTP网页下载数据的读者来说,可以说是必备的技能之一。

1. 介绍

Wget 是由 GNU项目创建的计算机工具。您可以使用它从各种 Web服务器检索内容和文件。这个名字是万维网和get这个词的组合。它支持通过FTP、SFTP、HTTP 和 HTTPS下载。

Wget 是用可移植的 C 语言创建的,可在任何Unix 系统上使用。也可以在Mac OS X、Microsoft Windows、AmigaOS和其他流行平台上实现。

2. 安装

  • Ubuntu 18.04
代码语言:shell复制
sudo apt-get install wget
  • CentOS 7
代码语言:shell复制
sudo yum install wget

3. 命令

3.1. 单个文件

代码语言:shell复制
# 下载单个文件到当前文件夹
wget https://example.zip  # wget url

3.2. 多个文件

需要将多个件的url写到一个txt文件中,再利用wget下载

代码语言:shell复制
# example.txt
https://example1.zip

https://example2.zip

https://example3.zip
  • 下载上面example.txt文件中的文件
代码语言:shell复制
wget -i example.txt

3.3. 命名

  • 给下载文件重命名
代码语言:shell复制
wget -O example.zip https://ttt.zip  

# 利用-o 选项,重命名文件为`example.zip`

3.4. 指定目录

  • 将下载文件保存到指定目录
代码语言:shell复制
wget -P documents/archives/ https://example.zip

# 利用-p 选项,将文件保存到`documents/archives/`目录下

3.5. 限制下载速度

代码语言:shell复制
wget --limit-rate=500k https://example.zip

# 将下载速度最高限制为 500k

3.6. 重试尝试次数

代码语言:shell复制
wget -tries=100 https://example.zip

# 设置重新连接次数为100

3.7. 后台下载

当下载的文件非常大的时候,可以将下载任务放置到后台

代码语言:shell复制
wget -b https://example.zip

3.8. FTP下载

代码语言:shell复制
wget --ftp-user=YOUR_USERNAME --ftp-password=YOUR_PASSWORD ftp://example.com/something.tar
  • --ftp-user:FTP用户名
  • --ftp-password:密码

3.9. 断点续连

当再下载途中,链接中断时,可以使用-c选项,进行重新连接,继续上次下载。

代码语言:shell复制
wget -c https://example.zip

3.10. 检索全站

  • 下载整个网站的内容
代码语言:shell复制
wget --mirror --convert-links --page-requisites --no-parent -P documents/websites/ https://example.com

参数

作用

–mirror

递归下载

–convert-links

所有链接都将转换为正确的脱机使用

–page-requisites

下载将包括CSS、JS和图像

–no-parent

不检索父目录

-P

指定保存目录

3.11. 查找断开链接

  • 查找网页中无法下载的连接,并输出到文件中
代码语言:shell复制
wget -o wget-log -r -l 5 --spider http://example.com

参数

作用

-o

将输出收集到文件中供以后使用

-l

指定递归级别

-r

递归下载

–spider

将wget设置为spider模式

  • 利用下面命令,过滤出无法下载的文件
代码语言:shell复制
grep -B 2 '404' wget-log | grep "http" | cut -d " " -f 4 | sort -u

# wget-log是第一步的输出结果

3.12. 下载编号文件

如果文件名是按照数字编号时,可以同时下载。

代码语言:shell复制
wget http://example.com/images/{1..50}.jpg

0 人点赞