Cum se utilizează comanda wget Linux pentru a descărca pagini web și fișiere

Utilitarul wget vă permite să descărcați pagini web, fișiere și imagini de pe web utilizând linia de comandă Linux.

Puteți utiliza o singură comandă wget pe cont propriu pentru a descărca de pe un site sau pentru a configura un fișier de intrare pentru a descărca mai multe fișiere pe mai multe site-uri.

Potrivit manualului wget pagina poate fi utilizată chiar și atunci când utilizatorul a ieșit din sistem. Pentru a face acest lucru, ați folosi comanda nohup.

Utilitarul wget va reîncerca o descărcare chiar și atunci când conexiunea scade, reluând de unde sa oprit dacă este posibil atunci când conexiunea revine.

Puteți descărca site-uri web întregi utilizând wget și puteți converti legăturile pentru a indica surse locale, astfel încât să puteți vizualiza un site offline.

Caracteristicile lui wget sunt următoarele:

Cum Pentru a descărca un site Web folosind wget

Pentru acest ghid, vă voi arăta cum să descărcați blogul personal.

wget www.everydaylinuxuser.com

Merită să creați propriul folder pe mașina dvs. utilizând comanda mkdir și apoi să vă mutați în folder folosind comanda cd .

De exemplu:

mkdir everydaylinuxuser
cd everydaylinuxuser
wget www.everydaylinuxuser.com

Rezultatul este un singur fișier index.html. Pe cont propriu, acest fișier este destul de inutil deoarece conținutul este încă tras de la Google, iar imaginile și foile de stil sunt totuși toate pe Google.

Pentru a descărca întregul site și toate paginile, puteți utiliza următoarea comandă:

wget -r www.everydaylinuxuser.com

Acest lucru descarcă paginile recursiv până la maxim 5 nivele adânci.

5 nivele de adâncime ar putea să nu fie de ajuns pentru a obține totul de pe site. Puteți utiliza comutatorul -l pentru a seta numărul de nivele pe care doriți să mergeți după cum urmează:

wget -r -l10 www.everydaylinuxuser.com

Dacă doriți recurență infinită puteți utiliza următoarele:

wget -r -l inf www.everydaylinuxuser.com

Puteți înlocui, de asemenea, inf cu 0, ceea ce înseamnă același lucru.

Mai există încă o problemă. S-ar putea să obțineți toate paginile la nivel local, dar toate link-urile din paginile încă indică locul lor original. Prin urmare, nu este posibil să faceți clic local între link-urile din pagini.

Puteți rezolva această problemă utilizând comutatorul -k care convertește toate linkurile de pe pagini pentru a indica echivalentul descărcat local după cum urmează:

wget -r -k www.everydaylinuxuser.com

Dacă doriți să obțineți o oglindă completă a unui site, puteți pur și simplu să utilizați următorul switch care elimină necesitatea utilizării comutatoarelor -r -k și -l.

wget -m www.everydaylinuxuser.com

Prin urmare, dacă aveți propriul site web, puteți face o copie de rezervă completă folosind această singură comandă simplă.

Executați wget ca comandă de fundal

Aveți posibilitatea să obțineți wget pentru a rula ca o comandă de fundal, lăsându-vă capabili să continuați cu lucrul în fereastra terminalului în timp ce descărcați fișierele.

Pur și simplu utilizați următoarea comandă:

wget -b www.everydaylinuxuser.com

Desigur, puteți combina comutatoarele. Pentru a rula comanda wget în fundal în timp ce oglindiți site-ul, veți folosi următoarea comandă:

wget -b -m www.everydaylinuxuser.com

Puteți simplifica acest lucru în continuare, după cum urmează:

wget -bm www.everydaylinuxuser.com

Logging

Dacă executați comanda wget în fundal, nu veți vedea niciunul dintre mesajele normale pe care le trimite pe ecran.

Puteți primi toate aceste mesaje trimise unui fișier de jurnal, astfel încât să puteți verifica progresul în orice moment folosind comanda coadă .

Pentru a extrage informații din comanda wget într-un fișier jurnal, utilizați următoarea comandă:

wget -o / cale / către / mylogfile www.everydaylinuxuser.com

Reversul, desigur, este să nu necesită deloc logare și nici o ieșire pe ecran. Pentru a omite toate ieșirile utilizați următoarea comandă:

wget -q www.everydaylinuxuser.com

Descărcați de pe mai multe site-uri

Puteți seta un fișier de intrare pentru a descărca de pe multe site-uri diferite.

Deschideți un fișier folosind editorul dvs. preferat sau chiar comanda pisică și pur și simplu începeți să listați site-urile sau link-urile de descărcat de pe fiecare linie a fișierului.

Salvați fișierul și executați următoarea comandă wget:

wget -i / path / to / inputfile

În afară de copierea de rezervă a propriului dvs. site web sau găsirea unei descărcări pentru a citi în tren, este puțin probabil să doriți să descărcați un întreg site web.

Este mai probabil să descărcați o singură adresă URL cu imagini sau să descărcați fișiere, cum ar fi fișiere zip, fișiere ISO sau fișiere imagine.

În acest sens, nu doriți să introduceți următoarele în fișierul de intrare, deoarece consumă mult timp:

Dacă știți că adresa URL de bază va fi întotdeauna aceeași, puteți specifica următoarele în fișierul de intrare:

Puteți furniza adresa URL de bază ca parte a comenzii wget după cum urmează:

wget -B http://www.myfileserver.com -i / cale / către / inputfile

Opriți din nou opțiunile

Dacă ați configurat o coadă de fișiere pentru a le descărca într-un fișier de intrare și lăsați computerul să ruleze toată noaptea pentru a descărca fișierele, veți fi destul de deranjați atunci când coborâți dimineața pentru a afla că a fost blocat pe primul fișier și sa reînceput toată noaptea.

Puteți specifica numărul de încercări utilizând următorul comutator:

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

S-ar putea să doriți să utilizați comanda de mai sus împreună cu comutatorul -T care vă permite să specificați un timeout în secunde după cum urmează:

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

Comanda de mai sus va reîncerca de 10 ori și va încerca să se conecteze timp de 10 secunde pentru fiecare legătură din fișier.

De asemenea, este destul de enervant când ați descărcat parțial 75% dintr-un fișier de 4 gigabyte pe o conexiune de bandă largă lentă doar pentru conexiunea dvs. de a renunța.

Puteți folosi wget pentru a reîncerca de unde sa oprit descărcarea utilizând următoarea comandă:

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

Dacă bateți un server, gazda ar putea să nu-i placă prea mult și ar putea să blocheze sau să-ți omoare doar cererile.

Puteți specifica o perioadă de așteptare care specifică durata de așteptare dintre fiecare recuperare după cum urmează:

wget -w 60 -i / path / to / inputfile

Comanda de mai sus va aștepta 60 de secunde între fiecare descărcare. Acest lucru este util dacă descărcați o mulțime de fișiere dintr-o singură sursă.

Unele gazde web ar putea să observe frecvența cu toate acestea și vă va bloca oricum. Puteți face aleatoriu perioada de așteptare pentru a face să pară că nu folosiți un program după cum urmează:

wget --random-wait -i / path / către / inputfile

Protejarea limitelor de descărcare

Mulți furnizori de servicii de internet aplică în continuare limite de descărcare pentru utilizarea în bandă largă, mai ales dacă locuiți în afara unui oraș.

Poate doriți să adăugați o cotă, astfel încât să nu suflați această limită de descărcare. Puteți face acest lucru în felul următor:

wget -q 100m -i / cale / către / inputfile

Rețineți că comanda -q nu va funcționa cu un singur fișier.

Deci, dacă descărcați un fișier cu dimensiunea de 2 gigabytes, folosind -q 1000m nu va opri descărcarea fișierului.

Cota se aplică numai când se descarcă recursiv de pe un site sau când se utilizează un fișier de intrare.

Intrarea prin securitate

Unele site-uri vă solicită să vă conectați pentru a putea accesa conținutul pe care doriți să îl descărcați.

Puteți utiliza următoarele comutatoare pentru a specifica numele de utilizator și parola.

wget --user = nume de utilizator - password = cuvântul cheie

Notați cu privire la un sistem cu mai mulți utilizatori, dacă cineva execută comanda ps, va putea să vă vadă numele de utilizator și parola.

Alte opțiuni de descărcare

Implicit, comutatorul -r va descărca recursiv conținutul și va crea directoare în timp ce merge.

Puteți obține toate fișierele pentru a le descărca într-un singur folder utilizând următorul switch:

wget -nd -r

Opusul acestui lucru este de a forța crearea de directoare care pot fi realizate folosind următoarea comandă:

wget -x -r

Cum se descarcă anumite tipuri de fișiere

Dacă doriți să descărcați recursiv dintr-un site, dar doriți doar să descărcați un anumit tip de fișier, cum ar fi un mp3 sau o imagine, cum ar fi un png, puteți utiliza următoarea sintaxă:

wget -A "* .mp3" -r

Opusul acestui lucru este ignorarea anumitor fișiere. Poate că nu doriți să descărcați executabile. În acest caz, ați folosi următoarea sintaxă:

wget-R "* .exe" -r

Cliget

Există un add-on pentru Firefox numit cliget. Puteți adăuga acest lucru în Firefox în modul următor.

Accesați https://addons.mozilla.org/en-US/firefox/addon/cliget/ și faceți clic pe butonul "adăugați la Firefox".

Faceți clic pe butonul de instalare când apare. Va trebui să reporniți Firefox.

Pentru a utiliza cliget, vizitați o pagină sau un fișier pe care doriți să îl descărcați și faceți clic dreapta. Va apărea un meniu contextual numit cliget și vor exista opțiuni pentru "copy to wget" și "copy to curl".

Faceți clic pe opțiunea "copie la wget" și deschideți o fereastră terminală, apoi faceți clic dreapta și lipiți. Comanda wget corespunzătoare va fi inserată în fereastră.

Practic, acest lucru vă salvează să introduceți singur comanda.

rezumat

Comanda wget ca un număr mare de opțiuni și switch-uri.

Prin urmare, merită citit pagina manuală pentru wget introducând următoarele într-o fereastră terminală:

om wget