如何使用wget Linux命令下载网页和文件

直接从Linux命令行下载

要知道什么

  • 下载完整的网站,使用以下命令和网站地址:Wget -r[站点地址]
  • 运行WGet作为后台命令用途:Wget -b[网站地址]

wget命令的特性

您可以使用wget下载整个网站并将链接指向当地资源,这样你就可以离线查看网站。wget实用程序还会在连接断开时重试下载,并在连接返回时(如果可能的话)从断开的地方继续下载。

wget的其他特性如下:

  • 下载文件使用http,https.和ftp。
  • 恢复下载。
  • 将下载网页中的绝对链接转换为相对url,以便网站可以离线查看。
  • 支持HTTP代理和cookie。
  • 支持持久的HTTP连接。
  • 即使您没有登录,它也可以在后台运行。
  • 在Linux和Windows上工作。

如何使用WGet下载网站

WGET实用程序使用Web使用Web页面,文件和图像使用Linux命令行。您可以使用一个wget命令从站点下载,或者设置一个输入文件来跨多个站点下载多个文件。

根据手册页面,即使用户已经退出系统,也可以使用wget。为此,可以使用nohup命令。

对于本指南,您将学习如何下载此Linux博客:

wget www.everydaylinuxuser.com

在开始之前,使用的计算机上创建一个文件夹mkdir命令,然后使用cd命令

例如:

mkdir everydaylinuxuser
cd everydaylinuxuser
wget www.everydaylinuxuser.com

结果是单个索引.HTML文件,其中包含从Google中拉的内容。在Google上保持图像和样式表。

Linux Wget.

要下载完整的网站和所有页面,使用以下命令:

wget - r www.everydaylinuxuser.com

这将递归地下载最多5级的页面。五层的深度可能不足以获取现场的所有信息。使用-L.通过以下方式切换,可以设置您想要进入的级别。

Wget -r -l10 www.everydaylinuxuser.com

如果要无限递归,请使用以下内容:

Wget -r -l inf www.everydaylinuxuser.com

您也可以替换INF.0,意思相同。

还有一个问题。您可能在本地获得所有页面,但页面中的链接指向原始位置。不可能在页面上的链接之间进行本地单击。

Linux wget文件下载

要解决这个问题,请使用k切换将页面上的链接转换为指向本地下载的对应链接,如下所示:

Wget -r -k www.everydaylinuxuser.com

如果你想获得一个网站的完整镜像,使用下面的开关,这就没有必要使用-R.,k, 和-L.开关。

wget - m www.everydaylinuxuser.com

如果您有一个网站,可以使用此一个简单命令进行完整的备份。

以wget作为后台命令运行

您可以让wget作为一个后台命令运行,使您能够在下载文件时在终端窗口中继续工作。使用以下命令:

wget - b www.everydaylinuxuser.com
Linux wget后台进程

您可以组合开关。要在镜像站点时在后台运行WGET命令,请使用以下命令:

Wget -b -m www.everydaylinuxuser.com

你可以进一步简化,如下所示:

wget -bm www.everydaylinuxuser.com.

日志记录

如果在后台运行wget命令,将看不到它发送到屏幕上的任何普通消息。若要将这些消息发送到日志文件,以便随时检查进度,请使用tail命令

要将wget命令中的信息输出到日志文件中,可以使用以下命令:

Wget -o /path/to/mylogfile www.everydaylinuxuser.com

相反,根本不需要日志记录,也不需要向屏幕输出。要省略所有输出,使用以下命令:

wget - q www.everydaylinuxuser.com

从多个站点下载

您可以设置输入文件从许多不同的网站下载。使用以下命令打开文件你最喜欢的编辑或者是猫命令并在文件的每一行列出要下载的网站或链接。保存文件,然后执行以下wget命令:

wget - i /路径/ / inputfile

除了备份网站或查找下载以读取脱机的东西外,您不可能下载整个网站。您更有可能下​​载单个URL与图像或下载文件(如ZIP文件),ISO文件或图像文件。

考虑到这一点,你不必在输入文件中输入以下内容,因为这很耗时:

  • http://www.myfileserver.com/file1.zip
  • http://www.myfileserver.com/file2.zip
  • http://www.myfileserver.com/file3.zip.

如果你知道基URL是相同的,在输入文件中指定以下内容:

  • file1.zip
  • file2.zip.
  • file3.zip

然后,您可以在wget命令中提供基URL,如下所示:

wget -B http://www.myfileserver.com -i /path/to/inputfile . txt

重试选项

如果您在输入文件中设置了一个要下载的文件队列,而让计算机运行下载文件,那么输入文件可能会在您外出时卡住,然后重试下载内容。可以使用以下交换机指定重试次数:

Wget -t 10 -i /path/to/inputfile

将上述命令与-T.以秒为单位指定超时时间,如下所示:

wget -t 10 -t 10 -i /path/to/inputfile

上面的命令将重试10次并为每个文件链接连接10秒。

在慢速下载75%的4g文件时也很不方便宽带连接,只用于断开连接。要使用wget从停止下载的地方重试,请使用以下命令:

wget -c www.myfileserver.com/file1.zip.

如果您敲打服务器,主机可能不喜欢它,并可能阻止或终止您的请求。您可以指定等待时间来指定每次检索之间的等待时间,如下所示:

Wget - w60 -i /path/to/inputfile

上面的命令在每次下载之间等待60秒。如果您从一个源下载了许多文件,这是很有用的。

一些网络主机可能会发现这种频率并屏蔽你。你可以使等待时间随机,使它看起来像你没有使用一个程序,如下所示:

Wget——random-wait -i /path/to/inputfile

保护下载限制

许多互联网服务提供商对宽带的使用设置了下载限制,特别是对那些住在城市以外的人。您可能想要添加一个配额,这样就不会超过您的下载限制。你可以用下面的方法来做:

Wget -q 100m -i /path/to/inputfile . txt

-q.命令对单个文件不起作用。如果你下载了一个2g大小的文件,使用-q.1000米不会停止文件下载。

只有在从站点递归下载或使用输入文件时才应用该配额。

通过安全

有些站点需要您登录才能访问您想要下载的内容。使用以下交换机指定用户名和密码。

wget——用户= = yourpassword yourusername——密码

在多用户系统上,当有人运行ps命令,他们可以看到您的用户名和密码。

其他下载选项

默认情况下,-R.Switch递归地下载内容并创建目录。要将所有文件下载到一个文件夹,请使用以下开关:

wget nd - r

与此相反的是强制创建目录,可以使用以下命令实现:

wget - x - r

如何下载某些文件类型

如果您想从站点递归地下载,但您只需要下载特定的文件类型,如MP3或PNG等映像,请使用以下语法:

wget -a“* .mp3”-r

与此相反的是忽略某些文件。也许您不想下载可执行文件。在这种情况下,使用以下语法:

wget -R "*.exe

Cliget

Firefox有一个名为cliiget的附加组件。要将此添加到Firefox中:

  1. 访问https://addons.mozilla.org/en-US/firefox/addon/cliget/然后点击这一点添加到Firefox按钮。

  2. 单击安装按钮,然后重新启动Firefox。

  3. 要使用cliget,请访问您想要下载的页面或文件,然后单击右键。会出现一个名为cliget的上下文菜单,其中有一些选项复制到wget复制到旋度

  4. 单击复制到wget选项,打开终端窗口,然后右键单击并选择粘贴。将适当的wget命令粘贴到窗口中。

这使您不必自己输入命令。

概括

wget命令有几个选项和开关。阅读手册页对于wget,在终端窗口中输入以下内容:

男人wget
此页面是否有帮助?