Have a Cookie

Cookie

My website uses cookies to personalize content and ads, to show you social media features, and to analyze website traffic. I might share information about your use of the website with my social media partners, advertising partners, and analysis partners, who may combine the data with other information about you, provided to them from your prior use of their services. Please note that you can change your cookie settings at any time.

man wget

Hvad kan det bruges til?

wget er et værktøj til at hente (dele af) websteder ned på din egen maskine. Det kan for eksempel være fordi

Hvordan bruger man det?

Man bør, som altid, læse man-siden, hvis man er i tvivl. Jeg har lavet den til en udskriftsklar Postscript-fil (9 sider, 46 kb) for dem der foretrækker dokumentation på papir.

Her er der et eksempel fra et program jeg kører ind imellem (med crontab):

   wget --verbose \
        --timestamping \
        --recursive \
        --level=0 \
        --no-parent \
        --background \
        --input-file=websteder

--verbosebeder wget om at være snakkesalig.--timestampingbetyder at wget undersøger om dokumenterne på webstedet er nyere end den lokale kopi inden de bliver hentet.--recursivehent også de sider siden henviser til og så videre.--level=0følg henvisninger i “uendelig mange” led. Hvis tallet er større end nul følges henvisninger i så mange led som tallet angiver.--no-parentfølg kun henvisninger udad. Hvis man starter med <URL:http://edb.jacob-sparre.dk/foredrag/> hentes <URL:http://edb.jacob-sparre.dk/> for eksempel ikke.--backgroundsætter programmet til at køre i baggrunden. Der skrives en logfil, der kommer til at hedde wget-log (hvis du ikke vælger et andet navn og der ikke allerede findes en fil med det navn).--input-file=webstedersætter wget til at læse en liste med websider fra filen websteder. Alternativt kan man give programmet en liste med adresser direkte på kommandolinien:

    wget --mirror http://www.sslug.dk/ \
                  
Home Page – End of 2023 campaign

I stedet for --timestamping og --recursive kan man nøjes med --mirror, der har samme effekt som de to argumenter sammen.

Hvilke problemer er der?

wget har desværre en kedelig vane med at ignorere kommentarafmærkning i HTML-dokumenter. Hvis vi ser på den følgende stump HTML:

 <UL>
  <LI><A Href="linuxkommerciel.html">Kommercielt</A>
  <!--<LI><A Href="misc/">Forskelligt</A>-->
  <LI><A Href="kalender.html">Kalender</A>
 </UL>

Her vil wget forsøge at hente alle tre dokumenter, til trods for at henvisningen til misc/ er bortkommenteret. Det gør at wget for eksempel ikke er velegnet til at undersøge et websted for blinde henvisninger (noget jeg en overgang forsøgte at bruge det til).

Er der nogen der vil være med til at rette wget til så det tager hensyn til kommentarafmærkning i HTML-dokumenter?