Ako používať príkaz wget Linux na stiahnutie webových stránok a súborov

Nástroj wget vám umožňuje stiahnuť webové stránky, súbory a obrázky z webu pomocou príkazového riadku Linux.

Jediný príkaz wget môžete použiť na sťahovanie zo stránky alebo na nastavenie vstupného súboru na sťahovanie viacerých súborov na viacerých stránkach.

Podľa manuálnej stránky môže byť wget použitý aj vtedy, keď sa používateľ odhlásil zo systému. Ak to chcete urobiť, použite príkaz nohup.

Nástroj wget zopakuje sťahovanie aj vtedy, keď spojenie klesne a obnoví sa od miesta, kde sa vracia, ak je to možné.

Celú webovú lokalitu môžete prevziať pomocou nástroja Wget a konvertovať odkazy tak, aby smerovali na miestne zdroje, aby ste mohli zobraziť webovú stránku offline.

Vlastnosti wget sú nasledovné:

Ako stiahnuť webové stránky pomocou wget

Pre túto príručku vám ukážem, ako stiahnuť svoj osobný blog.

wget www.everydaylinuxuser.com

Stojí za to vytvoriť vlastný priečinok na vašom počítači pomocou príkazu mkdir a presunúť sa do priečinka pomocou príkazu cd .

Napríklad:

mkdir everydaylinuxuser
cd everydaylinuxuser
wget www.everydaylinuxuser.com

Výsledkom je jediný index.html súbor. Samotný súbor je pomerne k ničomu, pretože obsah je stále vyťahovaný od spoločnosti Google a obrázky a štýly so štýlmi sú stále všetky v Google.

Ak chcete prevziať celú stránku a všetky stránky, môžete použiť nasledujúci príkaz:

wget -r www.everydaylinuxuser.com

Táto stránka sťahuje rekurzívne až na maximálne 5 úrovní.

5 úrovní hlboko nemusí stačiť na to, aby ste dostali všetko z lokality. Pomocou prepínača -l môžete nastaviť počet úrovní, na ktoré chcete prejsť nasledovne:

wget -r -l10 www.everydaylinuxuser.com

Ak chcete nekonečné rekurziu, môžete použiť nasledovné:

wget -r -l inf www.everydaylinuxuser.com

Inf môžete nahradiť 0, čo znamená to isté.

Je tu ešte jeden problém. Môžete získať všetky stránky lokálne, ale všetky odkazy na stránkach stále smerujú na pôvodné miesto. Preto nie je možné miestne kliknúť medzi odkazmi na stránkach.

Tento problém môžete odstrániť pomocou prepínača -k, ktorý konvertuje všetky odkazy na stránkach tak, aby smerovali na svoje lokálne prevzaté ekvivalenty nasledovne:

wget -r -k www.everydaylinuxuser.com

Ak chcete získať úplné zrkadlo webových stránok, môžete jednoducho použiť nasledujúci prepínač, ktorý odstráni potrebu používania prepínačov -r -k a -l.

wget -m www.everydaylinuxuser.com

Preto ak máte vlastnú webovú stránku, môžete vykonať kompletnú zálohu pomocou tohto jednoduchého príkazu.

Spustite wget ako príkaz na pozadí

Môžete získať Wget spustiť ako pozadie príkaz, takže môžete pokračovať s vašou prácou v terminálovom okne, zatiaľ čo súbory na stiahnutie.

Stačí použiť nasledujúci príkaz:

wget -b www.everydaylinuxuser.com

Môžete samozrejme kombinovať prepínače. Ak chcete spustiť príkaz wget na pozadí počas zrkadlenia stránky, použite nasledujúci príkaz:

wget -b -m www.everydaylinuxuser.com

Môžete to zjednodušiť takto:

wget -bm www.everydaylinuxuser.com

protokolovanie

Ak používate príkaz wget na pozadí, nezobrazia sa žiadne bežné správy, ktoré posiela na obrazovku.

Všetky tieto správy môžete dostať do súboru denníka, aby ste mohli kedykoľvek overiť priebeh pomocou príkazu chvost .

Ak chcete vygenerovať informácie z príkazu wget do súboru denníka, použite nasledujúci príkaz:

wget -o / cesta / do / mylogfile www.everydaylinuxuser.com

Naopak, samozrejme, nevyžaduje sa žiadne zaznamenávanie a žiadny výstup na obrazovku. Ak chcete vynechať všetky výstupy, použite nasledujúci príkaz:

wget -q www.everydaylinuxuser.com

Stiahnite si z viacerých stránok

Môžete nastaviť vstupný súbor na stiahnutie z mnohých rôznych lokalít.

Otvorte súbor pomocou obľúbeného editora alebo dokonca príkazu mačka a jednoducho začnite uvádzať stránky alebo odkazy na stiahnutie z každého riadka súboru.

Uložte súbor a potom spustite nasledujúci príkaz wget:

wget -i / path / to / vstupný súbor

Okrem zálohovania vlastných webových stránok alebo prípadne nájdenia niečoho na stiahnutie vo vlaku, je nepravdepodobné, že budete chcieť stiahnuť celú webovú stránku.

S väčšou pravdepodobnosťou môžete prevziať jednu URL s obrázkami alebo sťahovať súbory, ako sú súbory zip, ISO súbory alebo obrazové súbory.

S týmto upozornením nechcete, aby ste museli zadávať nasledujúce údaje do vstupného súboru, pretože sú časovo náročné:

Ak viete, že základná adresa URL bude vždy rovnaká, v vstupnom súbore môžete jednoducho zadať nasledujúce informácie:

Môžete poskytnúť základnú webovú adresu ako súčasť príkazu wget takto:

wget -B http://www.myfileserver.com -i / cesta / do / vstupný súbor

Opakovať možnosti

Ak ste nastavili frontu súborov na prevzatie v rámci vstupného súboru a necháte počítač bežať celú noc na stiahnutie súborov budete pomerne obťažovaní, keď prídeš ráno zistí, že bol uviazol na prvom súbore a sa opakuje celú noc.

Počet opakovaní môžete určiť pomocou nasledujúceho prepínača:

wget -t 10 -i / path / to / vstupný súbor

Možno budete chcieť použiť vyššie uvedený príkaz v spojení s prepínačom -T, ktorý vám umožňuje určiť časový limit v sekundách nasledovne:

wget -t 10 -T 10 -i / cesta / do / vstupný súbor

Tento príkaz sa zopakuje 10 krát a pokúsi sa pripojiť na 10 sekúnd pre každý odkaz v súbore.

Rovnako to je trochu nepríjemné, keď ste čiastočne stiahli 75% zo súboru s veľkosťou 4 gigabajty na pomalé širokopásmové pripojenie len kvôli tomu, že vaše pripojenie vypadlo.

Wget môžete použiť na opätovné pokusy z miesta, kde sa zastavilo sťahovanie pomocou nasledujúceho príkazu:

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

Ak narazíte na server, hostiteľ sa nemusí páčiť príliš veľa a môže zablokovať alebo len zabiť vaše požiadavky.

Môžete určiť dobu čakania, ktorá určuje, ako dlho treba čakať medzi každým obnovením nasledovne:

wget -w 60 -i / path / to / vstupný súbor

Vyššie uvedený príkaz bude čakať 60 sekúnd medzi každým sťahovaním. To je užitočné, ak sťahujete veľa súborov z jedného zdroja.

Niektorí web hostitelia môžu zaznamenať frekvenciu a zároveň vás zablokujú. Dobu čakania môžete urobiť náhodne, aby sa ukázalo, že nepoužívate program, ako je uvedené nižšie:

wget --random-wait -i / path / to / vstupný súbor

Ochrana hraníc preberania

Mnoho poskytovateľov internetových služieb stále uplatňuje limity na stiahnutie širokopásmového pripojenia, najmä ak žijete mimo mesta.

Možno budete chcieť pridať kvótu tak, aby nevyfukovala limit pre sťahovanie. Môžete to urobiť nasledujúcim spôsobom:

wget -q 100m -i / cesta / do / vstupný súbor

Všimnite si, že príkaz -q nefunguje s jedným súborom.

Ak teda stiahnete súbor s veľkosťou 2 gigabajty, pomocou programu -q 1000 m sa zastavenie sťahovania súborov nezastaví.

Kvóta sa uplatňuje iba pri rekurzívnom sťahovaní z lokality alebo pri použití vstupného súboru.

Získanie zabezpečenia

Niektoré stránky vyžadujú, aby ste sa prihlásili, aby ste mali prístup k obsahu, ktorý chcete prevziať.

Na zadanie používateľského mena a hesla môžete použiť nasledujúce prepínače.

wget - user = vaše meno - heslo = heslo

Poznámka o viacúčelovom systéme, ak niekto spustí príkaz ps, bude môcť vidieť vaše používateľské meno a heslo.

Ďalšie možnosti na prevzatie

Predvolene prepínač -r rekurzívne prevezme obsah a vytvorí adresáre ako to ide.

Všetky súbory môžete prevziať do jedného priečinka pomocou nasledujúceho prepínača:

wget -nd -r

Opačným cieľom je vynútiť vytvorenie adresárov, ktoré možno dosiahnuť pomocou nasledujúceho príkazu:

wget -x -r

Ako prevziať niektoré typy súborov

Ak chcete rekurzívne stiahnuť z lokality, ale stačí načítať konkrétny typ súboru, napríklad mp3 alebo obrázok, napríklad png, môžete použiť nasledujúcu syntax:

wget -A "* .mp3" -r

Naopak je ignorovať určité súbory. Možno nechcete prevziať spustiteľné súbory. V tomto prípade by ste použili nasledujúcu syntax:

wget -R "* .exe" -r

Cliget

K dispozícii je doplnok Firefox nazvaný cliget. Toto môžete pridať do Firefoxu nasledujúcim spôsobom.

Navštívte stránku https://addons.mozilla.org/en-US/firefox/addon/cliget/ a kliknite na tlačidlo "pridať do Firefoxu".

Ak sa zobrazí, kliknite na tlačidlo inštalácie. Budete musieť reštartovať Firefox.

Ak chcete použiť cliget, navštívte stránku alebo súbor, ktorý chcete stiahnuť, a kliknite pravým tlačidlom myši. Zobrazí sa kontextové menu s názvom cliget a budú k dispozícii možnosti "copy to wget" a "copy to curl".

Kliknite na možnosť "Kopírovať do wget" a otvorte okno terminálu a potom kliknite pravým tlačidlom myši a vložte ho. Príslušný príkaz wget sa vloží do okna.

V zásade to šetrí potrebu zadávať príkaz sami.

zhrnutie

Príkaz wget ako obrovský počet možností a prepínačov.

Preto stojí za to čítať manuálovú stránku pre wget napísaním nasledujúceho do terminálového okna:

man wget