Com utilitzar el comandament wget Linux per descarregar pàgines i arxius web

La utilitat wget us permet descarregar pàgines web, fitxers i imatges des de la web mitjançant la línia de comandaments de Linux.

Podeu utilitzar un únic comandament wget per a descarregar des d'un lloc o configurar un fitxer d'entrada per descarregar diversos fitxers en diversos llocs.

Segons el wget de la pàgina de manual es pot utilitzar fins i tot quan l'usuari ha tancat la sessió del sistema. Per fer-ho, utilitzaria l'ordre nohup.

La utilitat wget tornarà a intentar-se una descàrrega fins i tot quan la connexió caigués, reprenent-se d'on va deixar, si és possible, quan torna la connexió.

Podeu descarregar llocs web sencers mitjançant wget i convertir els enllaços per indicar fonts locals perquè pugueu veure un lloc web fora de línia.

Les funcions de wget són les següents:

Com descarregar un lloc web mitjançant wget

Per a aquesta guia, us mostraré com descarregar el meu blog personal.

wget www.everydaylinuxuser.com

Val la pena crear la vostra pròpia carpeta a la vostra màquina mitjançant l' ordre mkdir i, a continuació, passar a la carpeta usant l' ordre cd .

Per exemple:

mkdir dailylinuxuser
cd dailylinuxuser
wget www.everydaylinuxuser.com

El resultat és un únic fitxer index.html. De manera autònoma, aquest fitxer és bastant inútil ja que el contingut continua arrencant de Google i les imatges i fulls d'estil encara es mantenen a Google.

Per descarregar el lloc complet i totes les pàgines, podeu utilitzar el següent comandament:

wget -r www.everydaylinuxuser.com

Això descarrega les pàgines recursivament fins a un màxim de 5 nivells de profunditat.

De 5 nivells de profunditat pot no ser suficient per obtenir tot el contingut del lloc. Podeu utilitzar el botó -l per establir el nombre de nivells que voleu anar de la manera següent:

wget -r-l10 www.everydaylinuxuser.com

Si voleu una recursió infinita podeu utilitzar el següent:

wget -r -l inf www.everydaylinuxuser.com

També podeu reemplaçar l'inf amb 0, el que significa el mateix.

Encara hi ha un problema més. Podeu obtenir totes les pàgines de forma local, però tots els enllaços de les pàgines segueixen apuntant al seu lloc original. Per tant, no és possible fer clic localment entre els enllaços de les pàgines.

Podeu evitar aquest problema mitjançant l'opció -k que converteix tots els enllaços a les pàgines per assenyalar el seu equivalent baixat localment de la manera següent:

wget -r -k www.everydaylinuxuser.com

Si voleu obtenir un mirall complet d'un lloc web, podeu utilitzar el següent commutador que elimina la necessitat d'utilitzar els interruptors -r -k i -l.

wget-m www.everydaylinuxuser.com

Per tant, si teniu el vostre propi lloc web, podeu fer una còpia de seguretat completa amb aquest senzill comandament.

Executar wget Com a comandament de fons

Podeu executar wget com una ordre de fons que us permetrà continuar amb el vostre treball a la finestra del terminal mentre descarregueu els fitxers.

Simplement feu servir l'ordre següent:

wget -b www.everydaylinuxuser.com

Per descomptat, podeu combinar interruptors. Per executar l'ordre wget en segon pla mentre reflectia el lloc, usaria el següent comandament:

wget -b -m www.everydaylinuxuser.com

Podeu simplificar això de la manera següent:

wget -bm www.everydaylinuxuser.com

Registre

Si executeu l'ordre wget en segon pla, no veurà cap dels missatges normals que envia a la pantalla.

Podeu obtenir tots els missatges enviats a un fitxer de registre perquè pugueu consultar el progrés en qualsevol moment utilitzant l' ordre de la cua .

Per emetre informació des de l'ordre wget a un fitxer de registre, utilitzeu l'ordre següent:

wget -o / path / to / mylogfile www.everydaylinuxuser.com

El contrari, és clar, no requereix cap registre i cap sortida a la pantalla. Per ometre totes les sortides utilitzeu l'ordre següent:

wget -q www.everydaylinuxuser.com

Descarregar des de diversos llocs

Podeu configurar un fitxer d'entrada per a baixar des de molts llocs diferents.

Obriu un fitxer amb el vostre editor favorit o fins i tot l' ordre del cat i simplement publiqueu els llocs o enllaços per descarregar des de cada línia del fitxer.

Deseu el fitxer i, a continuació, executeu el següent comanda wget:

wget -i / path / to / inputfile

A part de fer una còpia de seguretat del vostre propi lloc web o, potser, cercar alguna cosa que es descarregui per llegir al tren, és poc probable que vulgueu descarregar un lloc web sencer.

És més probable que descarregueu un URL únic amb imatges o, potser, baixeu fitxers com fitxers zip, fitxers ISO o fitxers d'imatge.

Tenint en compte això, no vol que hagi d'escriure el següent en el fitxer d'entrada, ja que fa molt de temps:

Si sabeu que l'URL base sempre serà el mateix, podeu especificar el següent en el fitxer d'entrada:

A continuació, podeu proporcionar l'URL base com a part de l'ordre wget de la manera següent:

wget -B http://www.myfileserver.com -i / path / to / inputfile

Opcions de tornar a intentar

Si heu configurat una cua de fitxers per baixar-los en un fitxer d'entrada i deixeu que l'ordinador s'executi tota la nit per descarregar els fitxers, se li molesta força quan baixeu al matí per trobar-lo enganxat al primer fitxer i s'ha tornat a provar tota la nit.

Podeu especificar el nombre de reintents utilitzant el següent interruptor:

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

És possible que vulgueu utilitzar l'ordre anterior juntament amb el botó -T que us permet especificar un temps d'espera en segons de la següent manera:

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

L'ordre anterior es torna a provar 10 vegades i intentarà connectar-se durant 10 segons per cada enllaç del fitxer.

També és bastant molest quan heu descarregat parcialment el 75% d'un fitxer de 4 gigabytes en una connexió de banda ampla lenta només per deixar la connexió.

Podeu utilitzar wget per tornar a intentar des d'on va deixar de baixar usant l'ordre següent:

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

Si està martillando un servidor, potser el host no t'agradi massa i pot bloquejar o simplement matar les teves sol·licituds.

Podeu especificar un període d'espera que especifiqui quant de temps ha d'esperar entre cada recuperació de la manera següent:

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

L'ordre anterior esperarà 60 segons entre cada descàrrega. Això és útil si baixeu molts fitxers des d'una única font.

Tanmateix, alguns hosts web poden detectar la freqüència i bloquejar-lo de totes maneres. Podeu fer que el període d'espera sigui aleatori perquè sembli que no feu servir un programa de la següent manera:

wget --random-wait -i / path / to / inputfile

Protegint els límits de descàrrega

Molts proveïdors de serveis d'Internet segueixen aplicant límits de descàrrega per al vostre ús de banda ampla, especialment si viu fora d'una ciutat.

És possible que vulgueu afegir una quota perquè no toqueu aquest límit de baixada. Podeu fer-ho de la següent manera:

wget -q 100m -i / path / to / inputfile

Tingueu en compte que la comanda -q no funcionarà amb un únic fitxer.

Així, si baixeu un fitxer de 2 Gigabytes de mida, usant -q 1000m no s'aturarà la descàrrega de fitxers.

La quota només s'aplica quan es baixa de forma recursiva des d'un lloc o quan s'utilitza un fitxer d'entrada.

Obtenció a través de la seguretat

Alguns llocs requereixen que inicieu sessió per poder accedir al contingut que voleu descarregar.

Podeu utilitzar els següents modificadors per especificar el nom d'usuari i la contrasenya.

wget --user = nom_usuari --password = la vostra contrasenya

Nota sobre un sistema multiusuari si algú executa la comanda ps podran veure el vostre nom d'usuari i contrasenya.

Altres opcions de baixada

De manera predeterminada, el commutador -r descarregarà de forma recursiva el contingut i crearà directoris a mesura que vagin.

Podeu descarregar tots els fitxers a una sola carpeta mitjançant el següent switch:

wget -nd -r

El contrari d'això és forçar la creació de directoris que es poden aconseguir utilitzant el següent comandament:

wget -x -r

Com descarregar determinats tipus d'arxius

Si voleu descarregar-lo de manera recursiva des d'un lloc però només voleu baixar un tipus de fitxer específic, com ara un mp3 o una imatge com ara PNG, podeu utilitzar la següent sintaxi:

wget-A "* .mp3" -r

El contrari d'això és ignorar determinats fitxers. Potser no voleu descarregar executables. En aquest cas, utilitzaria la següent sintaxi:

wget -R "* .exe" -r

Cliget

Hi ha un add-on de Firefox anomenat cliget. Podeu afegir això a Firefox de la següent manera.

Visiteu https://addons.mozilla.org/en-US/firefox/addon/cliget/ i feu clic al botó "Afegeix a Firefox".

Feu clic al botó d'instal·lació quan aparegui. Necessitareu reiniciar Firefox.

Per utilitzar cliget visiteu una pàgina o fitxer que vulgueu descarregar i feu clic dret. Apareixerà un menú contextual anomenat cliget i hi haurà opcions de "copiar a wget" i "copiar a enrotllar".

Feu clic a l'opció "Copiar a wget" i obriu una finestra de terminal i, a continuació, feu clic i enganxeu amb el botó dret. L'ordre wget apropiat s'enviarà a la finestra.

Bàsicament, això us estalvia haver d'escriure el comandament a vosaltres mateixos.

Resum

La comanda wget com una gran quantitat d'opcions i commutadors.

Val la pena llegir la pàgina de manual per wget, escrivint el següent en una finestra de terminal:

home wget