Files
web-crawler/config.json
2025-11-13 13:01:48 +01:00

96 lines
2.9 KiB
JSON

{
"_documentation": "Allgemeine Konfigurationseinstellungen für den Web-Crawler.",
"PAGE_LIMIT": {
"value": 400,
"description": "Die maximale Anzahl von Seiten, die pro Domain gecrawlt werden."
},
"CRAWL_DELAY": {
"value": 2,
"description": "Die Verzögerung in Sekunden zwischen aufeinanderfolgenden Anfragen an dieselbe Domain."
},
"USER_AGENT": {
"value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0",
"description": "Der User-Agent-String, der für HTTP-Anfragen verwendet wird."
},
"PATH_STRICT": {
"value": false,
"description": "Wenn true, werden nur URLs gecrawlt, die mit einem der start_urls beginnen."
},
"BLOCKED_PATTERNS": {
"value": [
"/logout",
"/auth",
"?session="
],
"description": "URL-Muster, die vom Crawler blockiert werden sollen."
},
"MAX_RETRIES": {
"value": 3,
"description": "Die maximale Anzahl von Wiederholungen für fehlgeschlagene HTTP-Anfragen."
},
"RETRY_DELAY_BASE": {
"value": 5,
"description": "Die Basisverzögerung in Sekunden für exponentielles Backoff bei Wiederholungen."
},
"MIN_CONTENT_LENGTH": {
"value": 500,
"description": "Die minimale Länge des Inhalts (in Zeichen), die eine Seite haben muss, um gespeichert zu werden."
},
"OUTPUT_DIR": {
"value": "/app/output",
"description": "Das Verzeichnis, in dem die gecrawlten Daten gespeichert werden."
},
"log": {
"value": {
"handlers": ["file", "console", "sqlite"],
"file": {
"log_file": "crawler.log",
"max_size_mb": 12,
"keep_last": 7
},
"sqlite": {
"db_file": "crawler_logs.db"
},
"mysql": {
"host": "localhost",
"user": "user",
"password": "password",
"database": "crawler_logs",
"log_stats": true
}
},
"description": "Konfiguration für das Logging-System."
},
"html_cleaner": {
"value": {
"remove_tags": ["header", "nav", "aside", "footer"],
"remove_patterns": ["Datenschutz", "Kontakt", "Newsletter", "Zuletzt aktualisiert"]
},
"description": "Konfiguration zur Bereinigung von HTML-Inhalten."
},
"priority_patterns": {
"value": ["/docs/", "/wiki/", "/handbuch/", "/kapitel/"],
"description": "URL-Pfade, die beim Crawling priorisiert werden sollen."
},
"duplicate_detection": {
"value": {
"enable": true,
"similarity_threshold": 95
},
"description": "Konfiguration für die Duplikat-Erkennung mittels SimHash."
},
"incremental_crawling": {
"value": {
"enable": true,
"db_file": "crawled_hashes.db"
},
"description": "Konfiguration für das inkrementelle Crawling."
},
"state_management": {
"value": {
"enable": true,
"state_file": "crawler_state.json"
},
"description": "Konfiguration für die Speicherung des Crawler-Zustands zum Fortsetzen."
}
}