View Single Post
Min workflow for å laste ned 370 programrapporter:
  1. Eksempel-søk: beta.nb.no/search?q=%22Musikk%20Under%22~5%20OR%20%22Under%20Stjernene% 22~5%20AND%20%22Are%20Lund%22~5&mediatype=programrapporter&s ort=dateasc&fromDate=19840101&toDate=20211231
  2. Scroll helt ned slik at alle 370 programrapportene er synlige i nettleser-vinduet
  3. Kjør koden for å printe ut nedlastnings-lenker i console:
    Sitat av Lanjelin Vis innlegg

    HTML-kode

    let urls = $('.item-card-container a').map( function() {
        return $(this).attr('href');
    }).get();
    urls.forEach(function(url){
    	url = url.split('?')[0].split('/')[2];
    	url = 'https://www.nb.no/services/downloader?urn='+url;
    	console.log(url);
    });
    Vis hele sitatet...
  4. Legg til &resolutionlevel=6 på slutten av hver eneste url (regex i notepad++)
  5. Legg alle nedlastnings-lenkene i en .txt fil
  6. kjør følgende kommando for å laste ned filene med unike filnavn og log nedlatningen til egen log-fil i tilfelle et par nedlastninger feiler og må lastes ned på nytt:

    HTML-kode

    wget -nc --trust-server-names -i list2.txt 2>&1 | tee -a wget_log
  7. Dersom én eller flere nedlastninger feiler, kjør kommandoen på nytt, den vil skippe duplikater (fil med samme navn) og bare laste ned filer som ikke har blitt lastet ned fra før. Jeg prøvde med "--content-disposition" for å få nedlastet filene som .pdf men de ga meg bare filer som hadde filnavn med "timestamp" (f.eks. generated_30_12_11_58_40.pdf) som filnavn istedenfor unik id. Dermed ble det klin umulig for wget å se om jeg hadde lastet ned filen før og jeg hadde 6 filer som feilet som jeg ikke kunne finne igjen fordi jeg hadde glemt å logge. Så nå laster jeg ned alle på nytt med unike filnavn. Når alle 370 er lastet ned (kanskje jeg må kjøre kommandoen på nytt et par ganger for de som eventuelt feiler) bruker jeg en eller annen "multi rename" metode for å gi alle 370 filene ".pdf" på slutten av filnavnet sitt.

Tusen takk for hjelpen @Lanjelin !

Har laget flere spillelister basert på programrapportene allerede:

Musikk Under Stjernene Arkiv: youtube.com/channel/UC4vm8vRuyeR_tFUDhgHutfA/playlists

Et par erfaringer jeg ønsker å dele etter å ha lastet ned programplanene jeg trengte for å lage spillelistene.

Jeg brukte programmet "bulk rename utility" for å gi alle filene filendelsen .pdf

Flere av nedlastningene feilet med meldingen "Unable to establish SSL connection." men da trengte jeg bare å kjøre kommandoen på nytt og siden jeg hadde flagget "-nc" ble alle filer som allerede var lastet ned hoppet over med meldingen "File '<filnavn>' already there; not retrieving."

Noen av filene ble korrupt, og måten jeg sjekket hvilke filer som var korrupt på en enkel måte var å åpne alle 370 filene i Adobe Acrobat DC med "Scan & OCR" hvor jeg fikk beskjed om hvilke filer som var herpa. Jeg lasted ned disse på nytt. Jeg kjørte _ikke_ OCR på noen av filene siden nasjonalbiblioteket allerede har OCR på pdf-filene, brukte bare Adobe Acrobat DC for å finne ut hvilke filer som var herpa.
Sist endret av Turbolego; 31. desember 2021 kl. 11:02. Grunn: Automatisk sammenslåing med etterfølgende innlegg.