NBNO.py
NB.no nedlaster
Install / Use
/learn @Lanjelin/NBNO.pyREADME
NBNO.py
<p align="center"> <img src="https://raw.githubusercontent.com/Lanjelin/NBNO.py/refs/heads/master/web/static/img/logo.png" width="300" alt="Logo"> </p>Dette er et Python script som laster ned bøker og annet media fra Nasjonalbiblioteket (NB.no).
Kjøring i Docker - Web
<details> <summary><strong>Screenshot</strong></summary> <p align="center"> <a href=https://github.com/Lanjelin/NBNO.py/blob/master/.github/screenshots/fullpage.png> <img src="https://raw.githubusercontent.com/Lanjelin/NBNO.py/refs/heads/master/.github/screenshots/fullpage.png" alt="Full-page screenshot preview" width="600"/> </a> </p> </details>Bind en lokal mappe til /data for å få tilgang til filer som lastes ned via utforsker, filene er ellers tilgjengelige via webgrensesnittet.
Om en ønsker flere språk enn Norsk og Engelsk for OCR, må en binde en lokal mappe til /opt/tessdata og plassere *.traineddata der.
Ellers er det bare å starte containeren, og peke nettlesen til port 5000.
For å finne medie-ID, ta en kikk her
Docker Run
docker run --name nbno -p 5000:5000 -v ./nbno/data:/data -v ./nbno/tessdata:/opt/tessdata -d ghcr.io/lanjelin/nbno:latest
Docker compose
services:
nbno:
container_name: nbno
ports:
- 5000:5000
volumes:
- ./nbno/data:/data
- ./nbno/tessdata:/opt/tessdata
image: ghcr.io/lanjelin/nbno:latest
Kjøring uten Docker - CLI
For å kjøre denne koden trengs Python 3.10 eller nyere.
Linux og Mac kommer normalt med python installert. For Windows, last ned Python fra python.org, få med 'Add Python 3.xx to PATH'
For å sjekke versjon av python, kjør python --version(Windows), python3 --version(Mac/Linux), fra kommandolinjen.
Installer koden fra kilde
git clone https://github.com/Lanjelin/NBNO.py.git
cd NBNO.py
python3 -m pip install .
Installere koden fra PyPi
python -m pip install nbno
Kjøring
Etter installering kan programmet kjøres slik:
nbno --id <ID>
Avinstallering
python3 -m pip uninstall nbno
Argumenter
Eneste påkrevde argumentet er ID, som finnes ved å trykke Referere/Sitere for så å kopiere alt av tekst og tall etter no-nb_ eks. digitidsskrift_202101..etc --> nbno --id digitidsskrift_202101..etc
Følgende er støttet:
- Bøker (digibok)
- Aviser (digavis)
- Bilder (digifoto)
- Tidsskrift (digitidsskrift)
- Kart (digikart)
- Brev og Manuskripter (digimanus)
- Noter (digibok)
- Musikkmanuskripter (digimanus)
- Plakater (digifoto)
- Programrapport (digiprogramrapport)
Her kopieres innholdet fra authorization og cookie og lagres i en textfil ved scriptet.
Formaten på tekstfilen er
authorization=4JjcVi6faGF-GhD6wMoXZ80rUkg.*AAJTSQACMDIAAlNLABxxRandomRandomxxSNVpvUTlQxxRandomRandomxxDVFMAAlMxAAIwMQ..
cookie=_ga=GA1.1.1234543217.123454321; _hjSessionUser_123454321=eyJpZCI6IjUzOTZmxxRandomRandomxxy1hNDEwLTc0ZjA4NTJhxxRandomRandomxxOjE3MjYwNTEyNzcxxRandomRandomxxW5nIjp0cnVlfQ==;osvosvetc
Scriptet kjøres deretter med --cookie flagget som peker til filen, feks nbno --id blabla --cookie nbno-cookie.txt
bruk: nbno [-h] [--id <ID>] [--cover] [--pdf] [--f2pdf] [--url] [--error]
[--v] [--resize <int>] [--start <int>] [--stop <int>]
påkrevd argument:
--id <ID> IDen på innholdet som skal lastes ned
valgfrie argumenter:
-h, --help show this help message and exit
--cover Settes for å laste covers
--title Settes for å hente tittel på bok automatisk
--pdf Settes for å lage pdf av bildene som lastes
--f2pdf Settes for å lage pdf av bilder i eksisterende mappe
--url Settes for å printe URL på hver del
--error Settes for å printe HTTP feilkoder
--v Settes for å printe mer info
--resize <int> Prosent av originalstørrelse på bilder
--start <int> Sidetall å starte på
--stop <int> Sidetall å stoppe på
--cookie <string> Sti til fil for autentisering
Related Skills
node-connect
346.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
346.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
346.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
