为macOS系统安装wget工具

2019-03-03 03:26:30  |  来源:pc玩家

  wget是linux/unix平台下的命令行程序,用于从指定URL下载资源。它是非交互式的,所以wget可以在后台工作,甚至在用户登录之前。这个程序为不稳定的网络连接做过优化使得它相对来说比较健壮。虽然wget并没有预装在macOS中,但是我们可以很容易地获取它。本文介绍一下mac提供中安装wget的步骤和使用方法。

下载并安装Homebrew

  要安装Homedrew,请打开终端窗口,并执行Homedrew网站上的以下命令:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  您可能会注意到名为curl的命令,这是一个不同的命令行实用程序,用于从macOS上Ruby安装中附带的url下载文件。

001.png

安装wget

  一旦完成安装,我们将使用自制软件安装wget。在终端中,运行以下命令下载并安装wget :

brew install wget

  您将获得下载和安装在系统上运行wget所需的任何依赖项(软件先决条件)的实时更新。

002.png

  如果你已经安装了自制软件,一定要运行brew更新程序来获得最新版本。

使用wget

  下载完毕后先做一个简单的测试,让我们下载一下百度的首页,在终端输入wget www.baidu.com,它会自动下载index.html到当前目录下。

003.png

下载单个文件

  与curl类似,wget用于从url获取远程资源,并将其保存到计算机上的指定位置,命令结构是这样的:

wget -O path/to/local.copy http://example.com/url/to/download.html

  它将把URL中的文件保存到本地计算机的指定路径。如果没有指定-O参数,将保存到当前目录,类似上面下载百度首页的例子。

递归下载目录

  要使用wget下载整个目录树,你需要使用 -r/--recursive-np/--no-parent 参数,像下面这样:

wget -e robots=off -r -np https://www.w3.org/History/19921103-hypertext/hypertext/

  这将让wget跟踪指定目录中文档上的所有链接,递归下载整个目录。

  该命令还包括-e robots=off,它忽略了robots.txt文件中的限制。总的来说,禁用robots.txt是一个好主意,可以防止删节下载。

其他wget参数

  除了上面的参数,这几个wget的参数是最有用的:

下载控制

wget -X /absolute/path/to/directory 将排除远程服务器上的特定目录。

wget -nH 删除主机名目录,例如,我们前面的示例中名为“www.w3.org”的文件夹将被跳过,取而代之的是以“History”目录开始下载。

wget --cut-dirs=# 开始下载文件之前,跳过URL中指定数量的目录。例如,-nH - cut-dirs=1会将指定的路径“ftp.xemacs.org/pub/xemacs/”更改为简单的“/xemacs/”,从而减少本地下载中的空父目录数量。

wget -R index.html/wget --reject index.html 将跳过与指定文件名匹配的任何文件。在这种情况下,它将排除所有index文件。*字符可以用作通配符,如" *.png”,这将跳过所有具有PNG扩展名的文件。

wget -i file 从输入文件中指定目标网址。输入文件必须是HTML文件,或者被解析为带有附加flag --force-html的HTML

wget -nc/wget --no-clobber 不会覆盖目标中已经存在的文件。

wget -c/wget --continue 将继续下载部分下载的文件。

wget -t 10  下载资源失败前的尝试次数。

日志相关

wget -d 启用debugging输出

wget -o path/to/log.txt 启用到指定目录的日志输出。

wget -q 关闭wget的所有输出,包括错误消息。

wget -v 显式启用wget的默认详细输出。

wget --no-verbose 关闭日志消息,但显示错误消息。