Dieses Projekt dient der automatisierten Extraktion von Impressumsdaten aus einer Liste von Webseiten. Die Verarbeitung erfolgt in mehreren Schritten, von der URL-Eingabe über Scraping bis zur strukturierten Ausgabe über ein spezialisiertes Language Model.
Das Projekt besteht aus drei Hauptkomponenten:
run_batch_domains.py– Batch-Controller zum Einlesen und Starten der Verarbeitungmain_script.py– Einzelverarbeitung einer URL inkl. Ergebnis-Speicherungllm_query.py– Kommunikation mit einem LLM zur strukturierten Datenausgabe
llm_001/
├── input/
│ └── urls.csv # CSV-Datei mit den Ziel-URLs
├── output/
│ └── impressum_analyse.csv # Ergebnisdatei der Datenextraktion
├── main_script.py # Einzelverarbeitung
├── run_batch_domains.py # Batch-Verarbeitung
├── llm_query.py # LLM-Logik für Datenanalyse
└── webscrape_imprint.py # Web-Scraping Modul
- Python 3.6 oder höher
- Terminal mit UTF-8-Unterstützung
- Lokale Instanz von
ollamamit Modellpprkrn/imprintextractor:latest(auf Mistral-Basis mit LoRA-Finetuning)
Startet die Batch-Verarbeitung für mehrere URLs aus input/urls.csv.
python run_batch_domains.pyVerarbeitet eine einzelne Domain:
- Übergibt URL an
llm_query.get_data_for_csv() - Analysiert die LLM-Antwort per RegEx
- Schreibt das Ergebnis in
output/impressum_analyse.csv
python main_script.py https://example.comFührt folgende Schritte aus:
- Startet Scraper (
run_scraper()) - Generiert Prompt mit Zielstruktur
- Übergibt Prompt an das Modell
imprintextractor:latest - Erwartet eine Antwort im exakt folgenden Format:
Unternehmensname:
Geschäftsführer:
E-Mail-Adresse:
Telefonnummer:
Adresse:
HRB-Nummer:
UStID-Nummer:
Website:
Hinweis: Wenn Informationen fehlen, wird "N/A" zurückgegeben.
Die Datei input/urls.csv muss folgendermaßen aufgebaut sein:
Target URL
https://example.com
https://another-example.orgErgebnisse werden automatisch in die Datei output/impressum_analyse_debug.csv geschrieben, z. B.:
Unternehmensname,Geschäftsführer,E-Mail-Adresse,Telefonnummer,Adresse,HRB-Nummer,UStID-Nummer,Website
Example GmbH,Max Mustermann,info@example.com,+49 123 4567,Musterstraße 1,12345 Musterstadt,HRB 12345,DE123456789,https://example.com- Bei fehlender Eingabe-URL → Hinweis in der Konsole
- Bei nicht auffindbarem Impressum →
"Kein Impressum gefunden" - Fehlerhafte Antwort → Exception Logging mit URL
Dieses Projekt ist unter der MIT-Lizenz veröffentlicht – siehe LICENSE.