Scraper SN: Sachsen (ParlDok, Wahl 2029-09-02) #71

Closed
opened 2026-04-10 10:09:26 +02:00 by tobias · 0 comments
Owner

Wahltermin

2029-09-02 — Sachsen (SN), aktuell 8. Wahlperiode.

Backend

Feld Wert
Doku-System ParlDok
Base-URL https://edas.landtag.sachsen.de
dokukratie-Scraper sn
Drucksachen-Format 8/1234

Adapter-Strategie

ParlDok (1/2)ParLDokAdapter für MV existiert bereits. SN nutzt EDAS, das laut bundeslaender.py auf ParlDok basiert. Erste Frage beim Reverse-Engineering: ist es ParlDok 8.x mit demselben JSON-API-Schema (/parldok/Fulltext/Search) oder eine ältere Version? Wenn 8.x → einfacher Registry-Eintrag mit anderem base_url und prefix.

Was zu tun ist

  1. Live-Backend anschauen — falls SPA, HAR-Trace einer realen Suche aus DevTools ziehen (siehe Vorgehen in #12 für ParlDok bzw. #13 für eUI).
  2. Adapter in webapp/app/parlamente.py implementieren — entweder als neue Subklasse von ParlamentAdapter oder als zweiter Registry-Eintrag eines existierenden parametrisierbaren Adapters.
  3. Eintrag in der ADAPTERS-Registry am Ende der Datei.
  4. Smoke-Test lokal: ADAPTERS["SN"].search("Schule", limit=10) liefert echte Anträge mit Datum + Fraktionen, sortiert newest-first.
  5. Aktivierung via Folge-Issue (siehe Hängt mit … zusammen unten) — dieses Issue ist nur der Adapter selbst, nicht das Indexieren der Wahlprogramme oder das Frontend-aktiv-Setzen.

Akzeptanzkriterien

  • parlamente.py::ADAPTERS["SN"] existiert und ist instanziierbar
  • search(query="Schule", limit=10) liefert ≥3 echte Drucksachen mit korrektem Datum, Fraktionen, PDF-Link
  • get_document(drucksache) für eine reale Drucksache der laufenden WP liefert das Dokument zurück
  • download_text(drucksache) extrahiert Text aus dem PDF
  • Folge-Issue für Frontend-Aktivierung verlinkt
## Wahltermin **2029-09-02** — Sachsen (SN), aktuell 8. Wahlperiode. ## Backend | Feld | Wert | |---|---| | Doku-System | `ParlDok` | | Base-URL | https://edas.landtag.sachsen.de | | dokukratie-Scraper | `sn` | | Drucksachen-Format | `8/1234` | ## Adapter-Strategie **ParlDok (1/2)** — `ParLDokAdapter` für MV existiert bereits. SN nutzt EDAS, das laut bundeslaender.py auf ParlDok basiert. Erste Frage beim Reverse-Engineering: ist es ParlDok 8.x mit demselben JSON-API-Schema (`/parldok/Fulltext/Search`) oder eine ältere Version? Wenn 8.x → einfacher Registry-Eintrag mit anderem `base_url` und `prefix`. ## Was zu tun ist 1. Live-Backend anschauen — falls SPA, HAR-Trace einer realen Suche aus DevTools ziehen (siehe Vorgehen in #12 für ParlDok bzw. #13 für eUI). 2. Adapter in `webapp/app/parlamente.py` implementieren — entweder als neue Subklasse von `ParlamentAdapter` oder als zweiter Registry-Eintrag eines existierenden parametrisierbaren Adapters. 3. Eintrag in der `ADAPTERS`-Registry am Ende der Datei. 4. Smoke-Test lokal: `ADAPTERS["SN"].search("Schule", limit=10)` liefert echte Anträge mit Datum + Fraktionen, sortiert newest-first. 5. Aktivierung via Folge-Issue (siehe `Hängt mit … zusammen` unten) — dieses Issue ist nur der Adapter selbst, nicht das Indexieren der Wahlprogramme oder das Frontend-aktiv-Setzen. ## Akzeptanzkriterien - [ ] `parlamente.py::ADAPTERS["SN"]` existiert und ist instanziierbar - [ ] `search(query="Schule", limit=10)` liefert ≥3 echte Drucksachen mit korrektem Datum, Fraktionen, PDF-Link - [ ] `get_document(drucksache)` für eine reale Drucksache der laufenden WP liefert das Dokument zurück - [ ] `download_text(drucksache)` extrahiert Text aus dem PDF - [ ] Folge-Issue für Frontend-Aktivierung verlinkt
Sign in to join this conversation.
No description provided.