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下載文件。
安裝wget
一旦完成安裝,我們將使用自制軟件安裝wget。在終端中,運行以下命令下載並安裝wget :
brew install wget
您將獲得下載和安裝在系統上運行wget所需的任何依賴項(軟件先決條件)的實時更新。
如果你已經安裝了自制軟件,一定要運行brew更新程序來獲得最新版本。
使用wget
下載完畢後先做一個簡單的測試,讓我們下載一下百度的首頁,在終端輸入wget www.baidu.com,它會自動下載index.html到當前目錄下。
下載單個文件
與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 關閉日誌消息,但顯示錯誤消息。
閱讀更多 pc玩家 的文章