Cum se descarcă pagini web și fișiere folosind wget

Utilitarul wget descarcă pagini web, fișiere și imagini de pe web utilizând linia de comandă Linux. Puteți utiliza o singură comandă wget 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. Conform paginii manuale, wget poate fi utilizat chiar și atunci când utilizatorul s-a deconectat din sistem. Pentru a face acest lucru, utilizați comanda nohup.


Caracteristicile comenzii wget

Puteți descărca site-uri web întregi folosind wget, și convertiți linkurile pentru a indica spre surse locale, astfel încât să puteți vizualiza un site offline. Utilitarul wget reîncearcă, de asemenea, o descărcare atunci când conexiunea cade și reia de unde a rămas, dacă este posibil, când conexiunea revine.

Alte caracteristici ale wget sunt următoarele:

  • Descărcați fișiere utilizând HTTP, HTTPS și FTP.
  • Reluați descărcările.
  • Convertiți linkurile absolute din paginile web descărcate în adrese URL relative, astfel încât site-urile web să poată fi vizualizate offline.
  • Acceptă proxy-uri HTTP și cookie-uri.
  • Suportă conexiuni HTTP persistente.
  • Poate rula în fundal chiar și atunci când nu sunteți conectat.
  • Funcționează pe Linux și Windows.

Cum să descărcați un site web utilizând wget

Pentru acest ghid, veți afla cum să descărcați acest blog Linux:

wget www.ever

Înainte de a începe, creați un folder pe mașină folosind comanda mkdir, apoi mutați-vă în folder folosind comanda cd.

De exemplu:

mkdir dailylinuxuser
cd dailylinuxuser
wget www.ever

Rezultatul este un singur fișier index.html care conține conținutul extras de la Google. Imaginile și foile de stil sunt păstrate pe Google.

Pentru a descărca site-ul complet și toate paginile, utilizați următoarea comandă:

wget -r www.ever

Aceasta descarcă paginile recursiv până la maximum 5 niveluri adâncime. Este posibil ca cinci adâncimi să nu fie suficiente pentru a obține totul de pe site. Folosește -l comutați pentru a seta numărul de niveluri la care doriți să mergeți, după cum urmează:

wget -r -l10 www.ever

Dacă doriți recursivitate infinită, utilizați următoarele:

wget -r -l inf www.ever

De asemenea, puteți înlocui INF cu 0, ceea ce înseamnă același lucru.

Mai există o problemă. Este posibil să obțineți toate paginile la nivel local, dar linkurile din pagini indică locul original. Nu este posibil să faceți clic local între linkurile din pagini.

Pentru a rezolva această problemă, utilizați -k comutați pentru a converti linkurile de pe pagini pentru a indica echivalentul descărcat local, după cum urmează:

wget -r -k www.ever

Dacă doriți să obțineți o oglindă completă a unui site web, utilizați următorul comutator, care elimină necesitatea utilizării -r, -k, și -l comutatoare.

wget -m www.ever

Dacă aveți un site web, puteți face o copie de rezervă completă utilizând această comandă simplă.


Rulați wget ca o comandă de fundal

Puteți obține wget pentru a rula ca o comandă de fundal, lăsându-vă în stare să continuați lucrarea în fereastra terminalului în timp ce fișierele se descarcă. Utilizați următoarea comandă:

wget -b www.ever

Puteți combina comutatoare. Pentru a rula comanda wget în fundal în timp ce oglindiți site-ul, utilizați următoarea comandă:

wget -b -m www.ever

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

wget -bm www.ever


Exploatari forestiere

Dacă executați comanda wget în fundal, nu vedeți niciunul dintre mesajele normale pe care le trimite pe ecran. Pentru a trimite aceste mesaje într-un fișier jurnal, astfel încât să puteți verifica progresul în orice moment, utilizați comanda tail.

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

wget -o / path / to / mylogfile www.ever

Inversul este să nu necesitați nici o jurnalizare și nici o ieșire pe ecran. Pentru a omite toate ieșirile, utilizați următoarea comandă:

wget -q www.ever


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

Puteți configura un fișier de intrare pentru a fi descărcat de pe mai multe site-uri diferite. Deschideți un fișier folosind editorul preferat sau comanda cat și listați site-urile sau linkurile de pe care să descărcați de pe fiecare linie a fișierului. Salvați fișierul, apoi executați următoarea comandă wget:

wget -i /

În afară de backupul site-ului web sau de găsirea a ceva de descărcat pentru a citi offline, este puțin probabil să doriți să descărcați un site web întreg. Este mai probabil să descărcați o singură adresă URL cu imagini sau să descărcați fișiere precum fișiere zip, fișiere ISO sau fișiere imagine.

Având în vedere acest lucru, nu trebuie să introduceți următoarele în fișierul de intrare, deoarece consumă mult timp:

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

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

  • file1.zip
  • file2.zip
  • file3.zip

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

wget -B http://www.myfileserver.com -i /

Încercați din nou opțiunile

Dacă configurați o coadă de fișiere pentru a fi descărcate într-un fișier de intrare și lăsați computerul să ruleze pentru a descărca fișierele, fișierul de intrare se poate bloca în timp ce sunteți plecat și reîncercați să descărcați conținutul. Puteți specifica numărul de reîncercări utilizând următorul comutator:

wget -t 10 -i /

Utilizați comanda de mai sus împreună cu -T comutați pentru a specifica un timeout în secunde, după cum urmează:

wget -t 10 -T 10 -i /

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

Este, de asemenea, incomod atunci când descărcați 75% dintr-un fișier de 4 gigaocteți pe o conexiune lentă în bandă largă numai pentru ca conexiunea să se oprească. Pentru a utiliza wget pentru a încerca din nou de unde a încetat descărcarea, utilizați următoarea comandă:

wget -c www.myfileser

Dacă bateți un server, gazda ar putea să nu-i placă și ar putea să vă blocheze sau să omoare solicitările. Puteți specifica o perioadă de așteptare pentru a specifica cât de mult așteptați între fiecare recuperare, după cum urmează:

wget -w 60 -i /

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

Unele gazde web pot detecta frecvența și vă pot bloca. Puteți face perioada de așteptare aleatorie pentru a face să pară că nu utilizați un program, după cum urmează:

wget --random-wait -i /

Protejați limitele de descărcare

Mulți furnizori de servicii de internet aplică limite de descărcare pentru utilizarea în bandă largă, în special pentru cei care locuiesc în afara unui oraș. Poate doriți să adăugați o cotă, astfel încât să nu depășiți limita de descărcare. Puteți face acest lucru în modul următor:

wget -q 100m -i /

Platforma -q comanda nu va funcționa cu un singur fișier. Dacă descărcați un fișier care are o dimensiune de 2 gigaocteți, utilizând -q 1000m nu oprește descărcarea fișierului.

Cota se aplică numai atunci când descărcați recursiv de pe un site sau când utilizați un fișier de intrare.

Treceți prin securitate

Unele site-uri necesită să vă conectați pentru a accesa conținutul pe care doriți să îl descărcați. Utilizați următoarele comutatoare pentru a specifica numele de utilizator și parola.

wget --user = numele dvs. de utilizator - parola

Pe un sistem multi-utilizator, când cineva rulează ps , vă pot vedea numele de utilizator și parola.

Alte opțiuni de descărcare

Implicit, -r comutatorul descarcă recursiv conținutul și creează directoare pe măsură ce merge. Pentru a descărca toate fișierele într-un singur folder, utilizați următorul comutator:

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

Cum se descarcă anumite tipuri de fișiere

Dacă doriți să descărcați recursiv de pe 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 PNG, utilizați următoarea sintaxă:

wget -A &

Inversul este ignorarea anumitor fișiere. Poate că nu doriți să descărcați executabile. În acest caz, utilizați următoarea sintaxă:

wget -R &

Cliget

Există un add-on Firefox numit cliget. Pentru a adăuga acest lucru la Firefox:

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

  2. Apasă pe instala butonul când apare și apoi reporniți Firefox.

  3. 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. Apare un meniu contextual numit cliget și există opțiuni pentru copiaza in wget copiază la ondulat.

  4. Apasă pe copiați în wget opțiune, deschideți o fereastră terminal, apoi faceți clic dreapta și alegeți lipi. Comanda corespunzătoare wget este lipită în fereastră.

Acest lucru vă scutește de a trebui să tastați singură comanda.

Rezumat

Comanda wget are o serie de opțiuni și comutatoare. Pentru a citi pagina manuală pentru wget, tastați următoarele într-o fereastră a terminalului:

om wget