Ratsinformations-System Crawler für Herzogenrath
Ein Python-basierter Web-Crawler, der speziell für das Ratsinformations-System der Stadt Herzogenrath entwickelt wurde. Das Tool extrahiert Dokumente, PDFs und Vorlagen von der öffentlichen Verwaltungsplattform und speichert sie lokal zur weiteren Verarbeitung.
website grabber/
├── 📄 main.py # Hauptanwendung
├── 📁 ratsinfo_herzogenrath/ # Ausgabeverzeichnis
│ ├── 📁 html/ # Heruntergeladene HTML-Seiten
│ └── 📁 pdfs/ # Extrahierte PDF-Dokumente
├── 📁 venv/ # Python Virtual Environment
├── 📁 .git/ # Git Repository
└── 📁 .idea/ # IntelliJ IDEA Konfiguration
Der Crawler ist als Python-Klasse HerzogenrathCrawler implementiert und bietet:
class HerzogenrathCrawler:
def __init__(self, output_dir, use_selenium=False):
# Session, Driver, Tracking-Sets initialisieren
self.session = self.get_session()
self.visited_urls = set()
self.pdf_hashes = set()
def setup_selenium(self):
# Chrome WebDriver mit headless-Optionen
chrome_options.add_argument('--headless')
def download_pdf(self, pdf_url, vorlage_id):
# PDF-Download mit MD5-Duplikatscheck
content_hash = hashlib.md5(content).hexdigest()
def crawl_vorlage_detail(self, url, vorlage_id):
# Extrahiert PDFs von Vorlagen-Detailseiten
def crawl_vorlagen_list_selenium(self, start_url):
# Selenium-basiertes Crawling mit Fortschrittsbalken
requests # HTTP-Anfragen
beautifulsoup4 # HTML-Parsing
tqdm # Fortschrittsbalken
selenium # Browser-Automatisierung
lxml # XML/HTML-Parser (BS4-Backend)
Die Anwendung crawlt die öffentliche Ratsinformationsplattform und extrahiert:
| Projektpfad | D:\arbeit\git\website grabber |
| Hauptdatei | main.py |
| Python-Version | 3.12 (venv) |
| Letzte Änderung | Scan vom 29.04.2025 |
| Host | windows-3060 (192.168.178.71) |