💻 Code-Einblicke
Ein Blick unter die Haube — so ist das Projekt technisch umgesetzt:
Ratsinfo PDF-Downloader mit BeautifulSoup
def process_subpage(subpage_url, title):
html_content = fetch_page(urljoin(BASE_URL, subpage_url))
if not html_content:
return
soup = BeautifulSoup(html_content, 'html.parser')
# Datum der Vorlage suchen
for row in soup.select('.form_outer .form_row'):
label = row.select_one('.form_label')
if label and 'Datum' in label.text:
value = row.select_one('.form_value')
if value:
document_date = value.text.strip()
if not is_recent_document(document_date):
return
# PDF-Links suchen und downloaden
for link in soup.select('a.doclink.pdf'):
pdf_url = link.get('href')
download_pdf(pdf_url, title, link.text.strip())
Datumsprüfung für rezente Dokumente
def is_recent_document(date_text):
date_formats = ["%d.%m.%Y", "%Y-%m-%d"]
for fmt in date_formats:
try:
doc_date = datetime.strptime(
date_text.strip(), fmt)
break
except ValueError:
continue
else:
return True
three_years_ago = datetime.now() - \
timedelta(days=3*365)
return doc_date >= three_years_ago
Selenium-basierter PDF-Downloader
def process_page(driver, page_url):
driver.get(page_url)
WebDriverWait(driver, 10).until(
EC.presence_of_element_located(
(By.TAG_NAME, "body")))
pdf_links = driver.find_elements(
By.CSS_SELECTOR, "a.doclink.pdf")
for link in pdf_links:
link.click() # Download starten
time.sleep(2)
if pdf_links:
time.sleep(5) # Downloads abschließen
Robustes PDF-Download mit Requests
def download_pdf(pdf_url, title, doc_type):
full_url = urljoin(BASE_URL, pdf_url)
safe_title = re.sub(r'[<>:"/\\|?*]', '_', title)[:50]
filename = f"{safe_title}_{doc_type}.pdf"
file_path = os.path.join(OUTPUT_DIR, filename)
if os.path.exists(file_path):
return
response = session.get(full_url, headers=headers,
stream=True)
response.raise_for_status()
with open(file_path, 'wb') as f:
for chunk in response.iter_content(8192):
f.write(chunk)
time.sleep(random.uniform(0.5, 2.0))
🚀 Interesse an diesem Projekt? Sprechen Sie mich an!
💰 Business Value
Automatisierter PDF-Downloader für das Ratsinformationssystem Herzogenrath: BeautifulSoup+Selenium-Crawler mit Datumsfilter und Bulk-Download-Funktion.
⚙️ Funktionsweise
Die Kern-Mechanik des Projekts im Überblick.
💻 Technische Umsetzung
Das Projekt nutzt moderne Technologien und bewährte Open-Source-Tools für maximale Effizienz und Wartbarkeit.
⚡ In wenigen Tagen zum MVP — mit Vibecoding.
🚀 Gebaut mit Vibecoding
- 📋 2–3 Wochen Requirements
- 🏗️ 2–3 Wochen Architektur
- 💻 3–4 Wochen Implementierung
- 🧪 1–2 Wochen Testing
- ⏱️ Gesamt: 8–13 Wochen
- 🗣️ 0.5 Tage Prompt-Engineering
- ⚡ 2–3 Tage iterative Generierung
- 🔧 1–2 Tage Refinement
- ✅ 1 Tag Testing & Deployment
- ⏱️ Gesamt: 5–7 Tage
🎯 Strategische Erkenntnisse
Jedes Projekt liefert wertvolle Einsichten — technisch wie strategisch. Diese Learnings fließen direkt in Folgeprojekte ein.
Bereit für Ihr nächstes Projekt?
Lassen Sie uns gemeinsam herausfinden, wo Automatisierung und KI den größten Hebel für Ihr Business haben — unverbindlich und pragmatisch.