Skip to content

Jak používat příkaz wget Linux ke stahování webových stránek a souborů

17 de Srpen de 2021
computer code 172295014 59a8652e054ad90010e98956

Co vědět

  • Chcete -li stáhnout celý web, použijte následující příkaz s webovou adresou webu: wget -r [site address]
  • Chcete -li spustit wget jako příkaz na pozadí, použijte: wget -b [site address]

Vlastnosti příkazu wget

Pomocí wgetu si můžete stáhnout celé webové stránky a převádějte odkazy tak, aby směřovaly na místní zdroje, abyste si mohli web prohlížet offline. Nástroj wget také zopakuje stahování, když se připojení přeruší, a obnoví se od místa, kde skončilo, pokud je to možné, až se připojení vrátí. Další funkce wgetu jsou následující:

  • Stahujte soubory pomocí HTTP, HTTPS a FTP.
  • Obnovte stahování.
  • Převeďte na stažených webových stránkách absolutní odkazy na relativní adresy URL, aby bylo možné webové stránky prohlížet offline.
  • Podporuje HTTP proxy a cookies.
  • Podporuje trvalé připojení HTTP.
  • Může běžet na pozadí, i když nejste přihlášeni.
  • Funguje na Linuxu a Windows.

Jak stáhnout web pomocí wget

Nástroj wget stahuje webové stránky, soubory a obrázky z webu pomocí příkazového řádku Linux. Ke stažení z webu můžete použít jeden příkaz wget nebo nastavit vstupní soubor pro stahování více souborů na více webů. Podle stránky manuálu lze wget použít, i když se uživatel odhlásil ze systému. Chcete -li to provést, použijte příkaz nohup. V této příručce se naučíte stahovat tento blog o Linuxu: wget www.everydaylinuxuser.com

type = „code“> Než začnete, vytvořte na počítači složku pomocí příkazu mkdir a poté se přesuňte do složky pomocí příkazu cd. Například: mkdir dailylinuxuser
cd everylinuxuser
wget www.everydaylinuxuser.com

type = „code“> Výsledkem je jeden soubor index.html, který obsahuje obsah stažený z Googlu. Obrázky a šablony stylů jsou uloženy na Googlu.

Chcete -li stáhnout celý web a všechny stránky, použijte následující příkaz: wget -r www.everydaylinuxuser.com

type = „code“> Stránky se stáhnou rekurzivně až do hloubky maximálně 5 úrovní. Pět úrovní hluboko nemusí stačit na to, abyste z webu získali vše. Použijte -l přepněte a nastavte počet úrovní, na které chcete přejít, následujícím způsobem: wget -r -l10 www.everydaylinuxuser.com

type = „code“> Pokud chcete nekonečnou rekurzi, použijte následující: wget -r -l inf www.everydaylinuxuser.com

type = „code“> Můžete také nahradit inf s 0, což znamená totéž. Je tu ještě jeden problém. Můžete získat všechny stránky lokálně, ale odkazy na stránkách ukazují na původní místo. Mezi odkazy na stránkách nelze klikat lokálně.

Stažení souboru wget pro Linux

Chcete -li tento problém vyřešit, použijte -k přepnutím převedete odkazy na stránkách tak, aby směřovaly na lokálně stažený ekvivalent, následujícím způsobem: wget -r -k www.everydaylinuxuser.com

type = „code“> Chcete -li získat úplné zrcadlo webové stránky, použijte následující přepínač, který odstraní nutnost používat -r, -k, a -l spínače. wget -m www.everydaylinuxuser.com

type = „code“> Pokud máte webové stránky, můžete provést úplnou zálohu pomocí tohoto jednoduchého příkazu.

Spusťte wget jako příkaz na pozadí

Můžete spustit wget jako příkaz na pozadí, takže budete moci pokračovat v práci v okně terminálu při stahování souborů. Použijte následující příkaz: wget -b www.everydaylinuxuser.com

zadejte = „kód“>

Proces pozadí wget Linuxu

Můžete kombinovat přepínače. Chcete -li při zrcadlení webu spustit příkaz wget na pozadí, použijte následující příkaz: wget -b -m www.everydaylinuxuser.com

type = „code“> Toto můžete dále zjednodušit následovně: wget -bm www.everydaylinuxuser.com

zadejte = „kód“>

Protokolování

Pokud spustíte příkaz wget na pozadí, neuvidíte žádné normální zprávy, které odesílá na obrazovku. Chcete -li tyto zprávy odeslat do souboru protokolu, abyste mohli kdykoli zkontrolovat průběh, použijte příkaz tail. Chcete -li odeslat informace z příkazu wget do souboru protokolu, použijte následující příkaz: wget -o/path/to/mylogfile www.everydaylinuxuser.com

type = „code“> Opakem je, že se nevyžaduje žádné protokolování a žádný výstup na obrazovku. Chcete -li vynechat veškerý výstup, použijte následující příkaz: wget -q www.everydaylinuxuser.com

zadejte = „kód“>

Stahujte z více stránek

Můžete nastavit vstupní soubor pro stahování z mnoha různých webů. Otevřete soubor pomocí svého oblíbeného editoru nebo příkazu cat a na každém řádku souboru uveďte seznam webů nebo odkazů, ze kterých chcete stáhnout. Uložte soubor a poté spusťte následující příkaz wget: wget -i/path/to/inputfile

type = „code“> Kromě zálohování vašich webových stránek nebo hledání něčeho ke stažení ke čtení offline je nepravděpodobné, že budete chtít stáhnout celý web. S větší pravděpodobností stáhnete jednu adresu URL s obrázky nebo stáhnete soubory, jako jsou soubory zip, soubory ISO nebo soubory obrázků. S ohledem na to nemusíte do vstupního souboru zadávat následující, protože je to časově náročné:

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

Pokud víte, že základní adresa URL je stejná, zadejte ve vstupním souboru následující:

  • soubor1.zip
  • soubor2.zip
  • soubor3.zip

Základní URL pak můžete zadat jako součást příkazu wget následovně: wget -B http://www.myfileserver.com -i/path/to/inputfile

zadejte = „kód“>

Možnosti opakování

Pokud nastavíte frontu souborů ke stažení ve vstupním souboru a necháte počítač spuštěný pro stahování souborů, může se vstupní soubor zaseknout, když jste pryč, a zkuste obsah stáhnout znovu. Počet opakování můžete určit pomocí následujícího přepínače: wget -t 10 -i/path/to/inputfile

type = „code“> Použijte výše uvedený příkaz ve spojení s -T přepněte a určete časový limit v sekundách následujícím způsobem: wget -t 10 -T 10 -i/path/to/inputfile

type = „code“> Výše ​​uvedený příkaz se pokusí opakovat 10krát a připojit se na 10 sekund pro každý odkaz na soubor. Je také nepohodlné, když si stáhnete 75% souboru se 4 gigabajty na pomalém širokopásmovém připojení, jen aby připojení vypadlo. Chcete -li použít wget pro opakování z místa, kde se stahování zastavilo, použijte následující příkaz: wget -c www.myfileserver.com/file1.zip

type = „code“> Pokud zatlučete server, hostiteli se to nemusí líbit a může blokovat nebo zabít vaše požadavky. Můžete zadat čekací dobu a určit, jak dlouho čekat mezi každým načtením, následujícím způsobem: wget -w 60 -i/cesta/do/vstupní soubor

type = „code“> Výše ​​uvedený příkaz čeká mezi každým stažením 60 sekund. To je užitečné, pokud stahujete mnoho souborů z jednoho zdroje. Někteří weboví hostitelé mohou zaznamenat frekvenci a zablokovat vás. Čekací dobu můžete nastavit jako náhodnou, aby to vypadalo, že nepoužíváte program, následujícím způsobem: wget –random -wait -i/path/to/inputfile

zadejte = „kód“>

Chraňte limity stahování

Mnoho poskytovatelů internetových služeb uplatňuje omezení stahování pro širokopásmové připojení, zejména pro ty, kteří žijí mimo město. Možná budete chtít přidat kvótu, abyste nepřekročili limit stahování. Můžete to provést následujícím způsobem: wget -q 100m -i/path/to/inputfile

typ = „kód“> -q příkaz nebude fungovat s jediným souborem. Pokud stáhnete soubor o velikosti 2 gigabajty, použijte -q 1000 m nezabrání stahování souboru. Kvóta se použije pouze při rekurzivním stahování z webu nebo při použití vstupního souboru.

Získejte zabezpečení

Některé weby vyžadují přihlášení k přístupu k obsahu, který chcete stáhnout. Pomocí následujících přepínačů zadejte uživatelské jméno a heslo. wget –user = yourusername –password = yourpassword

type = „code“> Ve víceuživatelském systému, když někdo spustí ps mohou vidět vaše uživatelské jméno a heslo.

Další možnosti stahování

Standardně je -r přepínač rekurzivně stahuje obsah a vytváří adresáře, jak to jde. Chcete -li stáhnout všechny soubory do jedné složky, použijte následující přepínač: wget -nd -r

type = „code“> Opakem je vynucení vytváření adresářů, čehož lze dosáhnout pomocí následujícího příkazu: wget -x -r

zadejte = „kód“>

Jak stáhnout určité typy souborů

Pokud chcete stahovat rekurzivně z webu, ale chcete stáhnout pouze určitý typ souboru, například MP3 nebo obrázek jako PNG, použijte následující syntaxi: wget -A „*.mp3“ -r

type = „code“> Opakem je ignorování určitých souborů. Možná nechcete stahovat spustitelné soubory. V tomto případě použijte následující syntaxi: wget -R „*.exe“ -r

zadejte = „kód“>

Cliget

Existuje doplněk Firefoxu s názvem cliget. Chcete -li to přidat do Firefoxu:

  1. Navštivte https://addons.mozilla.org/en-US/firefox/addon/cliget/ a klikněte na přidat do Firefoxu knoflík.

  2. Klikněte na Nainstalujte Jakmile se zobrazí, restartujte Firefox.

  3. Chcete-li použít cliget, navštivte stránku nebo soubor, který chcete stáhnout, a klikněte pravým tlačítkem. Zobrazí se kontextová nabídka s názvem cliget a existují možnosti kopírovat do wget a zkopírovat do zvlnění.

  4. Klikněte na zkopírovat do wgetu možnost, otevřete okno terminálu, klikněte pravým tlačítkem a vyberte vložit. Do okna je vložen příslušný příkaz wget.

Díky tomu nebudete muset zadávat příkaz sami.

souhrn

Příkaz wget má několik možností a přepínačů. Chcete -li si přečíst manuální stránku pro wget, zadejte v okně terminálu následující: man wget

class = „ql-syntax“>