I den næste artikel skal vi se på Wget. Det skal siges, at GNU Wget er en gratis værktøj der muliggør download af indhold fra webservere på en enkel og hurtig måde. Navnet stammer fra World Wide Web (w) og ordet get (på engelsk få). Dette navn betyder: komme fra WWW.
I dag er der snesevis af applikationer til at downloade filer meget effektivt. De fleste af dem er baseret på web- og desktopgrænseflader og er udviklet til alle operativsystemer. Dog på Gnu / Linux (der er også en version til Windows) der er den kraftfuld download manager af wget-filer. Det betragtes som den mest kraftfulde downloader, der findes. Understøtter protokoller som http, https og ftp.
Download filer med wget
Download en fil
Den enkleste måde at bruge dette værktøj på er at downloade angiver filen Hvad vi ønsker:
wget http://sitioweb.com/programa.tar.gz
Download ved hjælp af forskellige protokoller
Som en god downloadmanager er det muligt anmode om mere end én download ad gangen. Vi kan endda bruge forskellige protokoller i samme rækkefølge:
wget http://sitioweb.com/programa.tar.gz ftp://otrositio.com/descargas/videos/archivo-video.mpg
Download ved udvidelse
En anden måde at downloade flere på filer, der bruger den samme udvidelse, bruger den wildcard-stjernen:
wget<code class="language-bash" data-lang="bash">-r -A.pdf</code>http://sitioweb.com/*.pdf
Denne kommando fungerer ikke altid, da nogle servere muligvis har blokeret adgang til wget.
Download en filoversigt
Hvis det, vi ønsker, er at downloade de filer, vi finder, bliver vi kun nødt til at gemme dem URL i en fil. Vi opretter en liste kaldet files.txt og vi vil angive navnet på listen til kommandoen. Nødvendig placer kun en url pr. linje inde i files.txt.
Kommandoen, som vi vil bruge til at downloade den oprettede liste, og som vi gemmer i .txt-filer, er følgende:
wget -i archivos.txt
Genstart en download
Hvis downloadet af en eller anden grund blev afbrudt, vil vi være i stand til det fortsæt download fra hvor det slap bruger mulighed c med kommandoen wget:
wget -i -c archivos.txt
Tilføj en log om download
Hvis vi ønsker at få en log om download, for at kontrollere enhver hændelse på det bliver vi nødt til at tilføje -o mulighed som det er vist i følgende:
wget -o reporte.txt http://ejemplo.com/programa.tar.gz
Begræns downloadbåndbredde
I meget lange downloads kan vi begrænse downloadbåndbredde. Med dette forhindrer vi, at download optager al båndbredde i downloadets varighed:
wget -o /reporte.log --limit-rate=50k ftp://ftp.centos.org/download/centos5-dvd.iso
Download med brugernavn og adgangskode
Hvis vi vil downloade fra et websted, hvor der kræves et brugernavn / en adgangskode, skal vi kun bruge disse muligheder:
wget --http-user=admin --http-password=12345 http://ejemplo.com/archivo.mp3
Download forsøg
Standard, dette program gør 20 forsøg på at etablere forbindelsen og start download, på meget mættede sider er det muligt, at selv med 20 forsøg blev det ikke opnået. Med mulighed t øges til flere forsøg.
wget -t 50 http://ejemplo.com/pelicula.mpg
Download et websted med wget
Wget er ikke begrænset til kun fildownloadsVi kan downloade en hel side. Vi bliver bare nødt til at skrive noget som:
wget www.ejemplo.com
Download et websted og dets ekstra elementer
Med valgmulighed s vi downloader også alle ekstra nødvendige elementer på siden såsom stilark, integrerede billeder osv.
Hvis vi tilføjer mulighed r se vil rekursivt downloade op til 5 niveauer fra webstedet:
wget -r www.ejemplo.com -o reporte.log
Konverter links til lokale
Som standard peger linkene på stedet til adressen på hele domænet. Hvis vi downloader webstedet rekursivt og derefter studerer det offline, kan vi bruge konvertering-links mulighed der vil gøre dem til lokale links:
wget --convert-links -r http://www.sitio.com/
Få en fuld kopi af webstedet
Vi har mulighed for at få en komplet kopi af et websted. Det –Spejlmulighed er det samme som at bruge valgmuligheder -r -l inf -N hvilket angiver rekursion på et uendeligt niveau og opnåelse af den originale tidsstempel for hver downloadet fil.
wget --mirror http://www.sitio.com/
Transformer udvidelser
Hvis du downloader hele siden for at se det offline, kan flere downloadede filer muligvis ikke åbnes på grund af udvidelser som f.eks. .Cgi, .asp eller .php. Så er det muligt at angive med –Html-udvidelsesmulighed Alle filer konverteres til en .html-udvidelse.
wget --mirror --convert-links --html-extension http://www.ejemplo.com
Dette er kun generelle retningslinjer end du kan gøre med Wget. Hvem ønsker kan konsultere online manual at høre alle de muligheder, som denne vidunderlige downloadmanager tilbyder os.
Med hensyn til "Download ved udvidelse" er jeg stoppet med at læse. Du kan ikke downloade det, du ikke ved. Medmindre det anmodede bibliotek tillader registrering af filer og mangler et indeks (og begge skal forekomme på samme tid), kan det, du siger, ikke gøres. Hvilket niveau.
Hej Rubén, uvidenhed er lidt dristig.
Hvad du kommenterer kan gøres med en simpel kommando til at google:
filtype:pdf websted:ubunlog.com
I dette eksempel er der ingen pdf i denne blog, men skift domænet i slutningen til det web, du foretrækker, og du vil se, hvor let det er at se alle filerne på en type web.
Hav en god dag.
Men wget opretter ikke forbindelse til google for at finde de pdfs, der findes i en url. Webkataloget skal være åbent, og der skal være en indeksside genereret af mod_autoindex eller lignende, som Rubén Cardenal siger.
"Denne kommando fungerer ikke altid, da nogle servere muligvis har blokeret adgangen til wget."
Dette ændringsforslag, der blev placeret på denne artikel, da jeg ikke er enig i det (selvom det teknisk set er muligt at blokere bestemte webagenter til http-headeranmodninger og returnere en 403 "ikke tilladt" besked), og jeg vil forklare hvorfor:
Alle Apache-webservere (og jeg taler om en betydelig procentdel af servere) tillader som standard globbing (fremragende Wikipedia-artikel, læs: https://es.wikipedia.org/wiki/Glob_(inform%C3%A1tica) .
Dette betyder i praksis, som specificeret af hr. Rubén (og han har ret), HVIS DER IKKE ER FIL OPKALDET "index.php" eller "index.html" (eller endda bare kaldet "index"), vil serveren stille stille en liste med filer og mapper (selvfølgelig i form af en html-side med oplysningerne som et weblink til hver fil). DE fleste webservere deaktiverer denne funktion gennem .htacces-filen (strengt taget Apache2) FOR SIKKERHEDSÅRSAGER.
Her er alsidigheden af wget (se historien igen på Wikipedia, den du kender mest: https://es.wikipedia.org/wiki/GNU_Wget ) for at analysere eller "parsere" de nævnte oplysninger og udtrække kun de udvidelser, vi beder om.
I tilfælde af at dette ikke virker, af en eller anden grund, kan vi prøve andre avancerede funktioner i wget, citerer jeg direkte på engelsk:
Du vil downloade alle GIF'erne fra et bibliotek på en HTTP-server. Du prøvede 'wget http://www.example.com/dir/*.gif’, men det fungerede ikke, fordi HTTP-hentning ikke understøtter GLOBBING (jeg sætter store bogstaver). I så fald skal du bruge:
wget -r -l1 – ingen-forælder -A.gif http://www.example.com/dir/
Mere detaljeret, men effekten er den samme. '-r -l1' betyder at hente rekursivt (se rekursiv download) med maksimal dybde på 1. '–no-parent' betyder, at referencer til den overordnede bibliotek ignoreres (se Directory-baserede grænser) og '-A. gif 'betyder kun at downloade GIF-filer. '-A «* .gif»' ville også have fungeret.
HVIS DET Køres på denne sidste måde opretter wget en mappe til os med den anmodede webadresse i standardmappen, hvor vi arbejder, og den opretter underkataloger, hvis det er nødvendigt, og der placerer den f.eks. .Gif-billederne, som beder vi om.
--------
MEN hvis det stadig ikke er muligt at hente kun bestemte typer filer (f.eks. * .Jpg), bliver vi nødt til at bruge parameteren «–sidekrav», der downloader alle de interne elementer på en html-side (billeder, lyde, css osv.) sammen med selve html-siden ("–sidekrav" kan forkortes "-p"), og det svarer til at downloade noget som en "mhtml" https://tools.ietf.org/html/rfc2557
Jeg håber, at disse oplysninger er nyttige for dig.
Tak for noterne. Salu2.
Jeg tror, du har en fejl, de første to linjer har den samme kommando.
Mange tak, meget god tutorial!