Wget, enkele voorbeelden van wat u met deze tool kunt doen

Over wget

In het volgende artikel gaan we naar Wget kijken. Het moet gezegd worden dat GNU Wget een gratis tool waarmee inhoud van webservers kan worden gedownload op een eenvoudige en snelle manier. De naam is afgeleid van World Wide Web (w) en het woord get (in het Engels krijgen​ Deze naam betekent: krijg van WWW.

Tegenwoordig zijn er tientallen applicaties om zeer efficiënt bestanden te downloaden. De meeste zijn gebaseerd op web- en desktopinterfaces en zijn ontwikkeld voor alle besturingssystemen. Maar op Gnu / Linux (er is ook een versie voor Windows) daar is de krachtige downloadmanager van wget-bestanden. Het wordt beschouwd als de krachtigste downloader die er bestaat. Ondersteunt protocollen zoals http, https en ftp.

Download bestanden met wget

Download een bestand

De eenvoudigste manier om deze tool te gebruiken, is door te downloaden met vermelding van het bestand Wat we willen:

wget http://sitioweb.com/programa.tar.gz

Download met verschillende protocollen

Als goede downloadmanager is het mogelijk meer dan één download tegelijk aanvragen​ We kunnen zelfs verschillende protocollen in dezelfde volgorde gebruiken:

wget http://sitioweb.com/programa.tar.gz ftp://otrositio.com/descargas/videos/archivo-video.mpg

Downloaden via extensie

Een andere manier om meerdere te downloaden bestanden met dezelfde extensie, het zal het jokerteken asterisk gebruiken:

wget<code class="language-bash" data-lang="bash">-r -A.pdf</code>http://sitioweb.com/*.pdf

Deze opdracht werkt niet altijd, aangezien sommige servers de toegang tot wget.

Download een bestandslijst

Als we de bestanden die we vinden willen downloaden, hoeven we alleen hun URL in een bestand​ We zullen een lijst maken met de naam bestanden.txt en we zullen de naam van de lijst aan de opdracht geven. Het is nodig plaats slechts één url per regel binnen files.txt.

De opdracht die we zullen gebruiken om de gemaakte lijst te downloaden en die we opslaan in .txt-bestanden, is de volgende:

wget -i archivos.txt

Start een download opnieuw

Als om welke reden dan ook de download werd onderbroken, kunnen we dat ga verder met downloaden waar het was gebleven gebruik van de optie c met het wget commando:

wget -i -c archivos.txt

Voeg een logboek toe over de download

Als we een logboek willen krijgen over de download, om beheers elk incident erop, zullen we de -een optie zoals weergegeven in het volgende:

wget -o reporte.txt http://ejemplo.com/programa.tar.gz

Beperk de downloadbandbreedte

Bij zeer lange downloads kunnen we de downloadbandbreedte beperken​ Hiermee voorkomen we dat de download alle bandbreedte in beslag neemt tijdens de download:

wget -o /reporte.log --limit-rate=50k ftp://ftp.centos.org/download/centos5-dvd.iso

Downloaden met gebruikersnaam en wachtwoord

Als we willen downloaden van een site waar een gebruikersnaam / wachtwoord vereist is, hoeven we alleen deze opties te gebruiken:

wget --http-user=admin --http-password=12345 http://ejemplo.com/archivo.mp3

Downloadpogingen

Standaard, dit programma doet 20 pogingen om de verbinding tot stand te brengen en start de download, op zeer verzadigde sites is het mogelijk dat dit zelfs met 20 pogingen niet is bereikt. Met de optie t stijgt tot meer pogingen.

wget -t 50 http://ejemplo.com/pelicula.mpg

Download een website met wget

Ik help man

Ik help man

Wget is niet beperkt tot alleen het downloaden van bestandenWe kunnen een volledige pagina downloaden. We zullen gewoon iets moeten schrijven als:

wget www.ejemplo.com

Download een website en zijn extra elementen

Met optie p we zullen ook alle downloaden extra elementen die nodig zijn op de pagina zoals style sheets, inline afbeeldingen, etc.

Als we de optie r se downloadt recursief tot 5 niveaus van de site:

wget -r www.ejemplo.com -o reporte.log

Converteer links naar lokale

Standaard verwijzen de links binnen de site naar het adres van het hele domein. Als we de site recursief downloaden en deze vervolgens offline bestuderen, kunnen we de convert-links optie dat zal ze veranderen in lokale links:

wget --convert-links -r http://www.sitio.com/

Ontvang een volledige kopie van de site

We zullen de mogelijkheid hebben om een ​​volledige kopie van een site te verkrijgen. De - spiegeloptie is hetzelfde als het gebruik van de opties -r -l inf -N die recursie op oneindig niveau aangeeft en het originele tijdstempel van elk gedownload bestand verkrijgt.

wget --mirror http://www.sitio.com/

Transformeer extensies

Als u de hele site downloadt om deze offline te bekijken, kunnen verschillende gedownloade bestanden mogelijk niet worden geopend vanwege extensies zoals .cgi, .asp of .php. Dan is het mogelijk om aan te geven met de –Html-extensie optie Alle bestanden worden geconverteerd naar een .html-extensie.

wget --mirror --convert-links --html-extension http://www.ejemplo.com

Dit zijn slechts algemene richtlijnen dan je kunt doen met Wget. Wie wil kan de online handleiding om alle mogelijkheden te raadplegen die deze geweldige downloadmanager ons biedt.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Ruben Cardenal zei

    Wat betreft "Downloaden via extensie" ben ik gestopt met lezen. U kunt niet downloaden wat u niet weet. Tenzij de gevraagde map de lijst van bestanden toestaat en een index mist (en beide moeten tegelijkertijd voorkomen), kan wat u zegt niet worden gedaan. Wat een niveau.

    1.    Computer Anoniem zei

      Hallo Rubén, onwetendheid is een beetje gewaagd.
      Wat u opmerkt, kan worden gedaan met een eenvoudige opdracht om te googlen:
      bestandstype:pdf site:ubunlog.com
      In dit voorbeeld is er geen pdf in deze blog, maar verander je het domein aan het einde naar het web dat je verkiest en je zult zien hoe gemakkelijk het is om alle bestanden van een bepaald type web te zien.
      Fijne dag.

      1.    grap zei

        Maar wget maakt geen verbinding met Google om de pdf's in een url te vinden. De webdirectory moet open zijn en er moet een indexpagina zijn die is gegenereerd door mod_autoindex of iets dergelijks, zoals Rubén Cardenal zegt.

    2.    Jimmy olano zei

      "Deze opdracht werkt niet altijd, aangezien sommige servers mogelijk de toegang tot wget hebben geblokkeerd."
      Dit amendement dat op dit artikel is geplaatst, omdat ik het er niet mee eens ben (hoewel het technisch gezien mogelijk is om bepaalde webagents voor http-headerverzoeken te blokkeren en een 403-bericht "niet toegestaan" terug te sturen) en ik zal uitleggen waarom:

      Alle Apache-webservers (en ik heb het over een aanzienlijk percentage servers) staan ​​standaard globbing toe (uitstekend Wikipedia-artikel, lees: https://es.wikipedia.org/wiki/Glob_(inform%C3%A1tica) .

      Dit betekent in de praktijk, zoals gespecificeerd door dhr. Rubén (en hij heeft gelijk), ALS ER GEEN BESTAND IS DAT "index.php" of "index.html" wordt genoemd (of zelfs simpelweg "index" wordt genoemd), zal de server stilletjes een lijst met bestanden en mappen retourneren (natuurlijk in vorm van een html-pagina met de informatie als een weblink voor elk bestand). DE MEESTE WEBSERVERS SCHAKELEN DEZE FUNCTIE UIT VIA HET .htacces-BESTAND (strikt gesproken Apache2) OM VEILIGHEIDSREDENEN.

      Hier is de veelzijdigheid van wget (zie het verhaal, opnieuw op Wikipedia, degene die je het meest kent: https://es.wikipedia.org/wiki/GNU_Wget ) om de genoemde informatie te analyseren of te "parseren" en alleen de extensies te extraheren waar we om vragen.

      In het geval dat dit om de een of andere reden niet werkt, kunnen we andere geavanceerde functies van wget proberen, ik citeer rechtstreeks in het Engels:

      U wilt alle GIF's downloaden vanuit een directory op een HTTP-server. Je hebt geprobeerd 'wget http://www.example.com/dir/*.gif’, maar dat werkte niet omdat HTTP-retrieval GLOBBING niet ondersteunt (ik zet de hoofdletters). Gebruik in dat geval:

      wget -r -l1 -no-parent -A.gif http://www.example.com/dir/

      Meer uitgebreid, maar het effect is hetzelfde. '-r -l1' betekent recursief ophalen (zie Recursieve download), met een maximale diepte van 1. '–no-parent' betekent dat verwijzingen naar de bovenliggende directory worden genegeerd (zie Directory-Based Limits), en '-A. gif 'betekent om alleen de GIF-bestanden te downloaden. '-A «* .gif»' zou ook hebben gewerkt.

      ALS HET OP DEZE LAATSTE MANIER WORDT UITGEVOERD, zal wget een map voor ons maken met het gevraagde webadres in de standaardmap waarin we werken, en indien nodig zal het submappen maken en daar plaatst het bijvoorbeeld de .gif-afbeeldingen die wij verzoeken.

      --------
      Als het echter nog steeds niet mogelijk is om alleen bepaalde soorten bestanden te verkrijgen (bijvoorbeeld * .jpg), zullen we de parameter «–page-requisites» moeten gebruiken die alle interne elementen van een html-pagina downloadt (afbeeldingen, geluiden, css, etc) samen met de html-pagina zelf ("–page-requisites" kan worden afgekort tot "-p") en dat zou hetzelfde zijn als het downloaden van zoiets als een "mhtml" https://tools.ietf.org/html/rfc2557

      Ik hoop dat deze informatie nuttig voor je is.

      1.    Damian Amoedo zei

        Bedankt voor de aantekeningen. Salu2.

  2.   Achterbanken zei

    Ik denk dat je een fout hebt, de eerste twee regels hebben hetzelfde commando.

  3.   Mike zei

    Heel erg bedankt, heel goede tutorial!