Wget,此工具可以完成的一些示例

關於wget

在下一篇文章中,我們將看一下Wget。 必須說GNU Wget是 免費工具 允許從Web服務器下載內容 以一種簡單而快速的方式。 它的名字來源於萬維網(w)和單詞get(用英語 獲得)。 這個名字的意思是: 從WWW獲取.

如今,有數十種應用程序可以非常高效地下載文件。 它們大多數基於Web和桌面界面,並且是針對所有操作系統開發的。 但是在Gnu / Linux(還有適用於Windows的版本)有 強大的下載管理器 wget文件。 它被認為是目前最強大的下載器。 支持協議,例如http,https和 FTP.

用wget下載文件

下載檔案

使用此工具的最簡單方法是下載 指示文件 我們想要什麼:

wget http://sitioweb.com/programa.tar.gz

使用不同的協議下載

作為一個好的下載管理器,有可能 一次請求多個下載。 我們甚至可以按相同順序使用不同的協議:

wget http://sitioweb.com/programa.tar.gz ftp://otrositio.com/descargas/videos/archivo-video.mpg

通過擴展下載

另一種下載多個文件的方法 使用相同擴展名的文件,它將使用通配符星號:

wget<code class="language-bash" data-lang="bash">-r -A.pdf</code>http://sitioweb.com/*.pdf

由於某些服務器可能已阻止訪問該命令,因此該命令並不總是有效 wget的.

下載文件清單

如果我們要下載的文件是我們想要的,那麼我們只需要保存它們 文件中的URL。 我們將創建一個名為 files.txt 我們將在命令中指定列表的名稱。 有必要 每行僅放置一個網址 在files.txt中。

我們將用於下載創建的列表並將其保存在.txt文件中的命令如下:

wget -i archivos.txt

重新開始下載

如果出於某種原因下載被中斷,我們將能夠 從停止的地方繼續下載 使用 選項c 使用wget命令:

wget -i -c archivos.txt

添加有關下載的日誌

如果我們想獲取有關下載的日誌,為了 控制任何事件 在它上面,我們將不得不添加 -o選項 如下所示:

wget -o reporte.txt http://ejemplo.com/programa.tar.gz

限制下載帶寬

在很長的下載時間內,我們可以 限制下載帶寬。 這樣一來,我們將防止下載在整個下載期間佔用所有帶寬:

wget -o /reporte.log --limit-rate=50k ftp://ftp.centos.org/download/centos5-dvd.iso

使用用戶名和密碼下載

如果要從需要用戶名/密碼的站點下載,則只需使用以下選項:

wget --http-user=admin --http-password=12345 http://ejemplo.com/archivo.mp3

下載嘗試

默認, 該程序進行了20次嘗試建立連接的嘗試 並開始下載,在非常飽和的站點中,即使嘗試20次也可能無法完成下載。 隨著 選項t 增加更多嘗試。

wget -t 50 http://ejemplo.com/pelicula.mpg

使用wget下載網站

Wget幫助人

Wget幫助人

Wget不僅限於文件下載我們將能夠下載整個頁面。 我們將只需要編寫如下內容:

wget www.ejemplo.com

下載網站及其額外元素

隨著 選項p 我們還將下載所有 頁面上需要的其他元素 例如樣式表,嵌入式圖像等。

如果我們添加 選項r se 將遞歸下載多達5個級別 來自該站點:

wget -r www.ejemplo.com -o reporte.log

將鏈接轉換為本地

默認情況下,站點內的鏈接指向整個域的地址。 如果我們以遞歸方式下載該網站,然後離線進行研究,則可以使用 轉換鏈接選項 那會把他們變成 本地鏈接:

wget --convert-links -r http://www.sitio.com/

獲取網站的完整副本

我們將有可能獲得網站的完整副本。 這 –鏡像選項 與使用 選項-r -l inf -N 這表示無限級別的遞歸併獲得每個下載文件的原始時間戳。

wget --mirror http://www.sitio.com/

轉換擴展

如果您下載整個站點以脫機查看它,則由於擴展名如.cgi,.asp或.php,可能無法打開幾個下載的文件。 然後可以用 –html-extension選項 所有文件都將轉換為.html擴展名。

wget --mirror --convert-links --html-extension http://www.ejemplo.com

這些只是一般準則 比使用Wget所能完成的要多。 誰想要可以諮詢 在線手冊 諮詢這個出色的下載管理器為我們提供的所有可能性。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   魯本·卡德納爾(Ruben Cardenal) 他說:

    至於“按擴展名下載”,我已經停止閱讀。 您無法下載不知道的內容。 除非所請求的目錄允許列出文件且沒有索引(並且兩者都必須同時出現),否則您所說的將無法完成。 多麼的水平。

    1.    信息學 他說:

      你好魯本,無知有點大膽。
      您可以通過對Google的簡單命令來完成您的評論:
      文件類型:pdf 網站:ubunlog.COM
      在此示例中,此博客中沒有pdf,但是將域名更改為您喜歡的Web的末尾,您將看到查看某個Web類型的所有文件非常容易。
      祝你今天過得愉快。

      1.    弗蘭克 他說:

        但是wget不會連接到Google以在URL中找到pdf。 如RubénCardenal所說,該Web目錄必須是打開的,並且必須有一個由mod_autoindex或類似文件生成的索引頁。

    2.    吉米·奧拉諾(Jimmy Olano) 他說:

      “此命令並不總是有效,因為某些服務器可能已阻止對wget的訪問。”
      之所以在本文中進行此修訂,是因為我不同意它(儘管從技術上講,它可以阻止某些Web代理進行HTTP標頭請求並返回403“不允許”消息),我將解釋原因:

      默認情況下,所有Apache Web服務器(我談論的是相當多的服務器)默認情況下都允許遍歷(出色的Wikipedia文章,請閱讀: https://es.wikipedia.org/wiki/Glob_(inform%C3%A1tica) .

      在實踐中,這是由先生指定的。 Rubén(他是對的),如果沒有文件調用“ index.php”或“ index.html”(甚至簡稱為“ index”),服務器將悄悄返回文件和目錄的列表(當然是格式的html頁面,其中信息作為每個文件的網絡鏈接)。 大多數Web服務器都通過.htacces文件(嚴格來說是Apache2)來禁用此功能,以確保安全。

      這是wget的多功能性(請在Wikipedia上再次了解他的故事,這是您最了解的故事: https://es.wikipedia.org/wiki/GNU_Wget )以分析或“解析”所述信息,並僅提取我們要求的擴展名。

      現在,如果由於某種原因該方法不起作用,我們可以嘗試其他高級wget函數,我直接用英語引用:

      您要從HTTP服務器上的目錄下載所有GIF。 你嘗試過 http://www.example.com/dir/*.gif’,但這沒有用,因為HTTP檢索不支持GLOBBING(我用大寫字母表示)。 在這種情況下,請使用:

      wget -r -l1 –無父級-A.gif http://www.example.com/dir/

      更詳細,但效果相同。 '-r -l1'表示以最大深度1進行遞歸檢索(請參閱遞歸下載)。'-no-parent'表示將忽略對父目錄的引用(請參見基於目錄的限制),以及-A。 gif'表示僅下載GIF文件。 '-A«* .gif»也可以。

      如果您以這種方式運行,則wget將在我們工作的默認文件夾中為我們創建一個帶有請求網址的文件夾,並且它將在必要時創建子目錄並將其放置在其中,例如要求。

      --------
      但是,如果仍然無法僅獲取某些類型的文件(例如* .jpg),則必須使用參數«–page-conditions»,該參數會下載html頁面的所有內部元素(圖像,聲音, css等)以及html頁面本身(“ –page-conditions”可以縮寫為“ -p”),這相當於下載“ mhtml”之類的內容 https://tools.ietf.org/html/rfc2557

      希望這些信息對您有用。

      1.    達米安·阿莫多(Damian Amoedo) 他說:

        謝謝你的筆記。 莎露2。

  2.   後銀行 他說:

    我認為您有一個錯誤,前兩行具有相同的命令。

  3.   麥克風 他說:

    非常感謝,很好的教程!