SkillAgentSearch skills...

NBNO.py

NB.no nedlaster

Install / Use

/learn @Lanjelin/NBNO.py
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

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)
<details> <summary>Innlogget innhold</summary> Som innlogget, åpne boka der en kan lese den, åpne Utviklerverktøy og finn Nettverkfanen. Refresh siden, og nettverksfanen populeres med innhold. Finn og velg manifest?fields=etcetc i listen, og bla igjen ned og finn Request Headers.

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

</details>
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

View on GitHub
GitHub Stars58
CategoryDevelopment
Updated14d ago
Forks12

Languages

Python

Security Score

90/100

Audited on Mar 19, 2026

No findings