Skip to content

Instantly share code, notes, and snippets.

@Zikoat
Last active January 11, 2024 11:01
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Zikoat/88cde6e74ef43fdb7a031cb76581b3b3 to your computer and use it in GitHub Desktop.
Save Zikoat/88cde6e74ef43fdb7a031cb76581b3b3 to your computer and use it in GitHub Desktop.
last ned bøker fra Brettboka.no

Brettboka Downloader

Nedlastingsverktøy for brettboka.no

Laster ned hver side som et bilde

Boken må være kjøpt

HVORDAN LASTE NED BØKER

  1. logg inn på web-versjonen av brettboka.no, og åpne boken du vil laste ned
  2. trykk f12 for å åpne konsollen
  3. gå til den første siden i boka (side 1)
  4. Velg at bare 1 side skal vises om gangen, eller reduser størrelsen på nettleservinduet slik at bare éi side vises om gangen.
  5. kopier koden fra brettboka-dl.js til konsollen og trykk enter
  6. den vil nå bla gjennom alle sidene og laste ned hver side som et bilde
  7. når den er ferdig er det bare å lukke fanen
  8. alle bildene er i nedlastingsmappen

HVORDAN GJØRE BILDENE TIL EN PDF-FIL

  1. gå til mappen hvor du har lastet ned bildene (nedlastinger)
  2. sjekk at alle bildene er der
  3. velg alle bildene
  4. høyreklikk DET FØRSTE bildet
  5. velg "print"
  6. gå gjennom menyen, og velg
    • printer: "Microsoft Print to PDF"
    • paper size: "letter"
    • options ->
      • sharpen for printing off
      • only show options that are compatible with my printer off
      • printer properties ->
        • orientation: "portrait"
    • ok
  7. trykk print

PROBLEMER OG LØSNINGER

Den laster bare ned annenhver side!

  • Se steg 4: Reduser størrelsen på nettleservinduet slik at bare éi side vises om gangen

Den hopper over noen sider!

  • Helt nederst i koden står det "1500". Det vil si at den venter 1.5 sekunder hver gang den går til neste side. Prøv å øk dette tallet til f.eks 3000. Da vil den gå en del tregere, men det kan være mere treffsikkert hvis man har tregt internett eller en treg PC.

Jeg kan ikke søke på teksten som står i PDF-en!

  • Søk på google etter "PDF OCR", last opp PDF-en til en av disse sidene og last den ned igjen som en søkbar PDF. Disse tjenestene scanner bildene i PDF-en og legger til teksten. Da kan man åpne fila i f.eks Edge, Chrome eller Adobe Reader og trykke ctrl+f for å søke på tekst. Da kan man også selecte teksten og kopiere den.
  • Hvis du har pro versjon av Adobe Acrobat, så fungerer OCR-modulen her bedre enn på de fleste andre internett-versjonene. OBS: Scanningen funker i noen tilfeller dårlig, og det er feil tekst som kommer ut, og noen ganger vil man ikke finne ting når man søker på de.

Nedlastingen står som forbereder nedlasting for evig!

  • Hvis du bruker Mac, så feiler noen ganger Safari med å laste ned sider og den vil være stuck, og da kan det fungere bedre å bruke Chrome enn Safari.
// open README for instructions
(function() {
var t = {},
e = !0;
if ("object" == typeof this.artoo && (artoo.settings.reload || (artoo.log.verbose("artoo already exists within this page. No need to inject him again."), artoo.loadSettings(t), artoo.exec(), e = !1)), e) {
var o = document.getElementsByTagName("body")[0];
o || (o = document.createElement("body"), document.documentElement.appendChild(o));
var a = document.createElement("script");
console.log("artoo.js is loading..."),
a.src = "//medialab.github.io/artoo/public/dist/artoo-latest.min.js",
a.type = "text/javascript",
a.id = "artoo_injected_script",
a.setAttribute("settings", JSON.stringify(t)),
o.appendChild(a)
}
}).call(this);
function eventFire(el, etype){
if (el.fireEvent) {
el.fireEvent('on' + etype);
} else {
var evObj = document.createEvent('Events');
evObj.initEvent(etype, true, false);
el.dispatchEvent(evObj);
}
}
var timerId = setInterval(()=>{
var prevPage = document.getElementsByClassName("currentPageFrame")[0];
for (var i = 0; i <= 3; i++) {
eventFire(document.getElementsByClassName("zoomInButton---AEUMz")[0], 'click');
}
for (var i = 0; i <= 1; i++) {
if(document.getElementsByClassName("currentPageFrame")[0].firstChild.children[i] !== undefined)
artoo.saveResource(document.getElementsByClassName("currentPageFrame")[0].firstChild.children[i].children[1].children[0].src);
}
eventFire(document.getElementsByClassName("nextButton---iV4MI")[0], 'click');
if(prevPage == document.getElementsByClassName("currentPageFrame")[0]){
clearInterval(timerId);
console.log("stopped");
}
console.log("next page");
}, 1500);
@rokwo
Copy link

rokwo commented Apr 26, 2021

Hei. Takk for koden.
Men når jeg tester denne hopper den over noen sider.
Noen forslag?

Copy link

ghost commented Apr 29, 2021

@rokwo

Hei. Takk for koden.
Men når jeg tester denne hopper den over noen sider.
Noen forslag?

  1. Reduser størrelsen på nettleservinduet slik at bare éi side vises om gangen (dette kan også gjøres ved å utvide konsollvinduet).
  2. Nederst i koden (på linje 41) står det "}, 500);". Endre dette tallet til noe høyere før du kjører koden (jo høyere tall, jo lengre tid tar det før den blar til neste side, som forhindrer den fra å hoppe over sider). Personlig måtte jeg endre tallet til 1500 før den stoppa å hoppe over sider.

@Zikoat
Copy link
Author

Zikoat commented May 2, 2021

Ok, har redigert koden slik at den venter 1500 ms mellom hver side, og lagt til notat om å endre størrelse på nettleservinduet.

Jeg har en mappe med nedlastede bøker her:
https://drive.google.com/drive/folders/1bEWad9o9Cs1f9gCExGyCi9VmpxAn1Z18

Send e-post dersom dere har bøker som er lastet ned som jeg skal legge til, sschoeler99@gmail.com.
Skrev denne i 2017, så kult at folk bruker denne 4 år etterpå, nå i eksamenstida.

@rokwo
Copy link

rokwo commented May 2, 2021

@rokwo

Hei. Takk for koden.
Men når jeg tester denne hopper den over noen sider.
Noen forslag?

  1. Reduser størrelsen på nettleservinduet slik at bare éi side vises om gangen (dette kan også gjøres ved å utvide konsollvinduet).
  2. Nederst i koden (på linje 41) står det "}, 500);". Endre dette tallet til noe høyere før du kjører koden (jo høyere tall, jo lengre tid tar det før den blar til neste side, som forhindrer den fra å hoppe over sider). Personlig måtte jeg endre tallet til 1500 før den stoppa å hoppe over sider.

Tusen takk 😊
Det med å skalere vinduet pga den kun tok bilde av annenhver side fant jeg ut av. Men tiden burde nok også vært juster opp ja.

@rokwo
Copy link

rokwo commented May 2, 2021

Ok, har redigert koden slik at den venter 1500 ms mellom hver side, og lagt til notat om å endre størrelse på nettleservinduet.

Jeg har en mappe med nedlastede bøker her:
https://drive.google.com/drive/folders/1bEWad9o9Cs1f9gCExGyCi9VmpxAn1Z18

Send e-post dersom dere har bøker som er lastet ned som jeg skal legge til, sschoeler99@gmail.com.
Skrev denne i 2017, så kult at folk bruker denne 4 år etterpå, nå i eksamenstida.

Takk. Jeg sjekker lenken og sender deg eventuelt en mail om min ikke finnes der 😊

@viewsourc3
Copy link

Tusen takk for det. Jeg er fransk og lærer norsk, så hjelper det mye.

@mhunhammer
Copy link

mhunhammer commented Dec 2, 2021

Koden fungerer fint, men sliter med at den boken jeg er ute etter (Montørhåndboka) viser 2 sider av gangen, uansett hvor mye jeg zoomer inn. er det noe jeg kan forandre på i koden slik at den kan screene begge sidene samtidig?

Glem det, viser seg at jeg måtte gjøre vinduet til boken latterlig liten, takk for hjelp ;)

@Zikoat
Copy link
Author

Zikoat commented Dec 2, 2021

Prøv å endre størrelsen på vinduet istedet for å zoome.

Hvis ikke det funket kan du prøve å endre
for (var i = 0; i <= 1; i++)
Til
for (var i = 0; i <= 2; i++)
Jeg har ikke tilgang til brettboka lenger, så jeg får ikke testet.

@Zikoat
Copy link
Author

Zikoat commented Dec 2, 2021

Nei vent, det kommer ikke til å funke. Du kan prøve deg fram med å redigere scriptet, men hvis du ikke får det til så har jeg ikke noe god løsning 😅

@viewsourc3
Copy link

Kan du gi meg et eksempel av en bok? Jeg tror at jeg hadde problemet før meg jeg kan ikke huske løsning akkurat nå. Hvis du deler en bok jeg kan prøve å finne en løsning ingen.

@Zikoat
Copy link
Author

Zikoat commented Dec 3, 2021

@viewsourc3 Jeg har ikke tilgang til noen bøker i Brettboka, men det ligger noen i linken i denne kommentaren:
https://gist.github.com/Zikoat/88cde6e74ef43fdb7a031cb76581b3b3#gistcomment-3728597

@viewsourc3
Copy link

Er du sikker på at du endrer størrelsen på nettleservinduet?
Beklager hvis norsken min er dårlig.

@iamk3v
Copy link

iamk3v commented May 10, 2023

Et par tips & tricks:

Har du Mac så vil safari noen ganger ikke laste ned en side; den vil stå som forbereder nedlasting for evig, bruk en annen nettleser, CHROME funker fett. Merket også at jeg måtte øke fra 1500 ms til f.eks 2500 eller 3000 for at den ikke hoppet over noen sider.

Bedre kvalitet på tekst og OCR med Adobe Acrobat:
Har du Adobe Acrobat kan du åpne PDFen I Acrobat og velg edit PDF som ligger under Verktøy (Tools), dette vil automatisk konvertere bildene til OCR. (OBS pass på at du velger NORSK som språk for mer presisjon). Deretter er det bare å velge fil -> lagre som, for å lagre den nye PDFen hvor tekst kan markeres og er søkbar.

OCR på nett funker til en viss grad, men med de jeg prøvde så ble ordene jeg søkte på matcha med usynlig tekst plassert et annet sted enn der teksten er. I mange tilfeller ble mange ord lagt oppå hverandre og det er kronglete å finne ut av hvor ordet egentlig er. Adobe Acrobat sin konvertering til OCR funka fett.

EDIT: verdt å merke at du kan nå velge om det skal vises 1 eller 2 sider omgangen på brettboka, gjør jobben en god del enklere.

@Zikoat
Copy link
Author

Zikoat commented May 11, 2023

Har du Mac så vil safari noen ganger ikke laste ned en side; den vil stå som forbereder nedlasting for evig, bruk en annen nettleser, CHROME funker fett.

EDIT: verdt å merke at du kan nå velge om det skal vises 1 eller 2 sider omgangen på brettboka, gjør jobben en god del enklere.

Jeg har lagt disse tingene inn i Readme-en.

Bedre kvalitet på tekst og OCR med Adobe Acrobat: Har du Adobe Acrobat kan du åpne PDFen I Acrobat og velg edit PDF som ligger under Verktøy (Tools), dette vil automatisk konvertere bildene til OCR. (OBS pass på at du velger NORSK som språk for mer presisjon). Deretter er det bare å velge fil -> lagre som, for å lagre den nye PDFen hvor tekst kan markeres og er søkbar.

Ja, Adobe Acrobat OCR funker veldig bra, men jeg tror man må ha kjøpt pro versjonen for at man skal kunne gjøre OCR.

En alternativ måte å gjøre det på hvis man har lyst å søke gjennom hele boka er å kopiere teksten direkte fra brettboka også inn et tekst-dokument som man da kan søke gjennom. @iamk3v Vet du om det er muligheter til å kopiere teksten i brettboka, eller måtte man gått gjennom alle sidene og kopiert teksten for å få det til? Man kunne eventuelt lagd et script for å bla gjennom alle sidene og kopiere teksten på samme måte som scriptet for å laste ned bildene, men jeg har ikke tilgang til brettboka lenger, så jeg får ikke gjort det. Det som er fordelen med den måten er at teksten blir helt riktig og det er enklere å søke på nøkkelord, men da får man det jo ikke direkte inn i pdf-en...

@ai-hengineer
Copy link

Hei,
Jeg får ikke koden til å virke.
Skjermbilde 2023-06-05 094814

Har du noen forslag?
Takk for kode og hjelp.

@Zikoat
Copy link
Author

Zikoat commented Jun 5, 2023

@ai-hengineer Det er 2 forskjellige knapper som trykkes på i koden, det er zoom knappen og neste side knappen. I HTML-koden så har disse elementene css-klassene zoomInButton---ltZQz og nextPageButton---3TQQ9. Det som mest sannsynligvis har skjedd er at disse knappene har endret de bokstavene etterpå, eller at navnet er blitt endret litt. Da må du gå inn i developer tools og finne ut av hva den nye css-klassen til disse 2 elementene er. Trykk på "inspect element" og se hva css-klassen til knappen er.

Fint om du kan sende de nye css-klassene slik at jeg får oppdatert koden.

image

@ai-hengineer
Copy link

nextzoom

Takk! Nedlastningen startet.
Men den lagrer kun htm filer som ikke kan åpnes/skrives ut. Antok den skulle lagret jpg, eller tar jeg feil?

@ai-hengineer
Copy link

brettbokJPG

Løste problemet :)
Takk for koden!

@Zikoat
Copy link
Author

Zikoat commented Jun 6, 2023

@ai-hengineer Oppdatert 👍

@bennokress
Copy link

Merknad: nextPageButton er nextButtonnå og bokstavene etterpå er endret igjen: zoomInButton---AEUMz og nextButton---iV4MI.

Og noe annet jeg ikke kan forklare: for en av bøkene jeg kjøpte (Stein på Stein - Arbeidsbok) ser det ut til at skriptet laster ned hver side, det logger ingen feil, men i virkeligheten stopper det alltid etter side 56. Jeg testet det i forskjellige nettlesere med samme resultat, og for den andre boken fungerer det helt fint. Har du noen forslag?

@Zikoat
Copy link
Author

Zikoat commented Jan 11, 2024

@bennokress Jeg har oppdatert bokstavene og navnene på knappene.

Det kan hende at det er noe gant med disse 2 linjene:

if(document.getElementsByClassName("currentPageFrame")[0].firstChild.children[i] !== undefined)
    artoo.saveResource(document.getElementsByClassName("currentPageFrame")[0].firstChild.children[i].children[1].children[0].src);

Etter at du har kjørt scriptet kan du gå til side 56 kjøre denne linja i konsollen:
document.getElementsByClassName("currentPageFrame")[0].firstChild.children
Så kan du gå inn i objectet som blir printet i konsollen og prøve å finne url-en til bildet på sida. Den burde være inne i en child, og være satt som en src property. Du kan også bruke inspect element i chrome for å se om du klarer å finne url-en.
Jeg har ikke tilgang lenger, men hvis du sender meg oppdatert kode som funker både på den boka og på andre bøker så kan jeg oppdatere scriptet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment