Wget-verktyget laddar ner webbsidor, filer och bilder från webben med Linux-kommandoraden. Du kan använda ett enda wget-kommando för att ladda ner från en webbplats eller ställa in en inmatningsfil för att ladda ner flera filer över flera webbplatser. Enligt manualsidan kan wget användas även när användaren har loggat ut från systemet. Använd kommandot nohup för att göra detta.
Funktioner i wget-kommandot
Du kan ladda ner hela webbplatser med wget, och konvertera länkarna för att peka på lokala källor så att du kan se en webbplats offline. Wget-verktyget försöker också ladda ner igen när anslutningen sjunker och återupptas från den plats där den slutade, om möjligt, när anslutningen återvänder.
Andra funktioner i wget är som följer:
- Ladda ner filer med HTTP, HTTPS och FTP.
- Återuppta nedladdningar.
- Konvertera absoluta länkar på nedladdade webbsidor till relativa webbadresser så att webbplatser kan ses offline.
- Stöder HTTP-proxyservrar och cookies.
- Stöder ihållande HTTP-anslutningar.
- Kan springa i bakgrunden även när du inte är inloggad.
- Fungerar på Linux och Windows.
Hur man laddar ner en webbplats med hjälp av wget
För den här guiden lär du dig hur du laddar ner den här Linux-bloggen:
wget www.ever
Innan du börjar skapar du en mapp på din dator med kommandot mkdir och flyttar sedan till mappen med hjälp av cd-kommandot.
Till exempel:
mkdir vardagslinuxuser
cd vardagslinuxanvändare
wget www.ever
Resultatet är en enda index.html-fil som innehåller innehållet från Google. Bilderna och stilarken finns på Google.
För att ladda ner hela webbplatsen och alla sidor, använd följande kommando:
wget -r www.ever
Detta hämtar sidorna rekursivt upp till maximalt 5 nivåer djupa. Fem nivåer djupt kanske inte räcker för att få allt från webbplatsen. Använd -l växla för att ställa in antalet nivåer du vill gå till enligt följande:
wget -r -l10 www.ever
Om du vill ha oändlig rekursion, använd följande:
wget -r -l inf www.ever
Du kan också byta ut inf med 0, vilket betyder samma sak.
Det finns ett problem till. Du kan få alla sidor lokalt, men länkarna på sidorna pekar på den ursprungliga platsen. Det är inte möjligt att klicka lokalt mellan länkarna på sidorna.
För att komma runt detta problem, använd -k växla för att konvertera länkarna på sidorna för att peka på motsvarande lokalt nedladdade, enligt följande:
wget -r -k www.ever
Om du vill få en komplett spegel av en webbplats, använd följande omkopplare, som tar bort nödvändigheten för att använda -r, -koch -l switchar.
wget -m www.ever
Om du har en webbplats kan du göra en fullständig säkerhetskopiering med det här enkla kommandot.
Kör wget som bakgrundskommando
Du kan få wget att köras som ett bakgrundskommando så att du kan fortsätta med ditt arbete i terminalfönstret medan filerna laddas ner. Använd följande kommando:
wget -b www.ever
Du kan kombinera omkopplare. För att köra wget-kommandot i bakgrunden medan du speglar webbplatsen, använd följande kommando:
wget -b -m www.ever
Du kan förenkla detta ytterligare enligt följande:
wget -bm www.ever
Loggning
Om du kör wget-kommandot i bakgrunden ser du inga vanliga meddelanden som skickas till skärmen. För att skicka dessa meddelanden till en loggfil så att du kan kontrollera framsteg när som helst använder du kommandot tail.
För att mata ut information från wget-kommandot till en loggfil, använd följande kommando:
wget -o / path / to / mylogfile www.ever
Det motsatta är att det inte krävs någon loggning alls och ingen utdata till skärmen. För att utelämna all utdata, använd följande kommando:
wget -q www.ever
Ladda ner från flera webbplatser
Du kan ställa in en inmatningsfil för nedladdning från många olika webbplatser. Öppna en fil med din favoritredigerare eller kattkommandot och lista de webbplatser eller länkar som du kan ladda ner på varje rad i filen. Spara filen och kör sedan följande wget-kommando:
wget -i /
Förutom att säkerhetskopiera din webbplats eller hitta något att ladda ner för att läsa offline är det osannolikt att du vill ladda ner en hel webbplats. Det är mer sannolikt att du laddar ner en enda URL med bilder eller laddar ner filer som zip-filer, ISO-filer eller bildfiler.
Med detta i åtanke behöver du inte skriva följande i inmatningsfilen eftersom det är tidskrävande:
- http://www.myfileserver.com/file1.zip
- http://www.myfileserver.com/file2.zip
- http://www.myfileserver.com/file3.zip
Om du vet att grundadressen är densamma, ange följande i inmatningsfilen:
- file1.zip
- file2.zip
- file3.zip
Du kan sedan ange grundadressen som en del av wget-kommandot enligt följande:
wget -B http://www.myfileserver.com -i /
Försök igen
Om du ställer in en kö med filer för nedladdning i en inmatningsfil och låter din dator köra för att ladda ner filerna, kan indatafilen fastna medan du är borta och försök igen för att ladda ner innehållet. Du kan ange antalet försök med följande omkopplare:
wget -t 10 -i /
Använd ovanstående kommando i kombination med -T växla för att specificera en timeout i sekunder, enligt följande:
wget -t 10 -T 10 -i /
Ovanstående kommando försöker igen 10 gånger och ansluter i 10 sekunder för varje länk i filen.
Det är också obekvämt när du laddar ner 75% av en 4-gigabyte-fil på en långsam bredbandsanslutning bara för att anslutningen ska släppas. För att använda wget för att försöka igen varifrån den slutade hämta, använd följande kommando:
wget -c www.myfileser
Om du hamrar på en server kanske värden inte gillar den och kan blockera eller döda dina förfrågningar. Du kan ange en väntetid för att ange hur länge du ska vänta mellan varje hämtning, enligt följande:
wget -w 60 -i /
Ovanstående kommando väntar 60 sekunder mellan varje nedladdning. Detta är användbart om du laddar ner många filer från en enda källa.
Vissa webbhotell kan upptäcka frekvensen och blockera dig. Du kan göra väntetiden slumpmässig så att det ser ut som om du inte använder ett program enligt följande:
wget - slumpmässig-vänta -i /
Skydda nedladdningsgränser
Många internetleverantörer tillämpar nedladdningsgränser för bredbandsanvändning, särskilt för dem som bor utanför en stad. Du kanske vill lägga till en kvot så att du inte överskrider nedladdningsgränsen. Du kan göra det på följande sätt:
wget -q 100m -i /
Vårt -q kommandot fungerar inte med en enda fil. Om du laddar ner en fil som är 2 gigabyte stor med -q 1000m hindrar inte filen från att ladda ner.
Kvoten tillämpas endast vid rekursiv nedladdning från en webbplats eller när en inmatningsfil används.
Kom igenom säkerhet
Vissa webbplatser kräver att du loggar in för att komma åt innehållet du vill ladda ner. Använd följande omkopplare för att ange användarnamn och lösenord.
wget --user = ditt användarnamn - lösenord
På ett fleranvändarsystem när någon kör ps kommandot kan de se ditt användarnamn och lösenord.
Andra nedladdningsalternativ
Som standard -r switch hämtar rekursivt innehållet och skapar kataloger när det går. För att hämta alla filer till en enskild mapp, använd följande omkopplare:
Motsatsen till detta är att tvinga fram skapandet av kataloger som kan uppnås med följande kommando:
Hur man laddar ner vissa filtyper
Om du vill ladda ner rekursivt från en webbplats men bara vill ladda ner en specifik filtyp som en MP3 eller en bild som en PNG, använd följande syntax:
wget -A &
Det motsatta av detta är att ignorera vissa filer. Du kanske inte vill ladda ner körbara filer. Använd i detta fall följande syntax:
wget -R &
Cliget
Det finns ett Firefox-tillägg som heter cliget. Så här lägger du till Firefox:
-
Besök https://addons.mozilla.org/en-US/firefox/addon/cliget/ och klicka på lägg till Firefox knapp.
-
Klicka på installera när den visas och starta sedan om Firefox.
-
För att använda cliget, besök en sida eller fil som du vill ladda ner och högerklicka. En snabbmeny visas som kallas cliget, och det finns alternativ till kopia till wget och kopiera till curl.
-
Klicka på kopiera till wget alternativ, öppna ett terminalfönster, högerklicka sedan och välj klistra. Lämpligt wget-kommando klistras in i fönstret.
Detta sparar dig från att behöva skriva kommandot själv.
Sammanfattning
Wget-kommandot har ett antal alternativ och växlar. För att läsa manualsidan för wget, skriv följande i ett terminalfönster:
man wget
#goog-gt-tt {display:none !important;}.goog-te-banner-frame {display:none !important;}.goog-te-menu-value:hover {text-decoration:none !important;}body {top:0 !important;}#gtranslate_element {display:none!important;}
var gt_not_translated_list = ["wget www.ever","wget -r www.ever","wget -r -l10 www.ever","wget -r -l inf www.ever","wget -r -k www.ever","wget -m www.ever","wget -b www.ever","wget -b -m www.ever","wget -bm www.ever","wget -q www.ever","wget -i /","file1.zip","file2.zip","file3.zip","wget -B http://www.myfileserver.com -i /","wget -t 10 -i /","wget -t 10 -T 10 -i /","wget -c www.myfileser","wget -w 60 -i /","wget -q 100m -i /","Cliget","man wget"];
document.cookie = "googtrans=/auto/sv; domain=.balogs.xyz";
document.cookie = "googtrans=/auto/sv";
function GTranslateElementInit() {new google.translate.TranslateElement({pageLanguage: 'auto',layout: google.translate.TranslateElement.InlineLayout.SIMPLE,autoDisplay: false,multilanguagePage: true}, 'gtranslate_element');}