🏠 Wie ich Wohnungssuchen mit Python + Discord automatisiert habe

📌 Problem
Wohnungen im Rhein-Main-Gebiet? Bezahlbar, 3 Zimmer, unter 800 € kalt?
Viel Glück.
Ich habe irgendwann keinen Bock mehr gehabt, 3x täglich alle Plattformen durchzuklicken.
Also hab ich das gemacht, was man als KI- und Tech-Nerd macht: automatisiert.
🎯 Ziel
- Suche Wohnungen mit:
- Mind. 3 Zimmer
- Kaltmiete max. 800 €
- Umkreis 15 km um 55XXX
- Sende neue Ergebnisse sofort in einen privaten Discord-Channel
🔧 Tools
Tool | Zweck |
---|---|
Python | Bot-Logik und Webscraping |
BeautifulSoup / Requests | HTML Parsing / HTTP Requests |
Discord Webhook | Push-Nachricht bei neuem Treffer |
Crontab / Systemd Timer | Regelmäßige Ausführung (z. B. alle 30 Minuten) |
🧠 So funktioniert’s
- Scraper ruft HTML von Plattformen wie eBay Kleinanzeigen oder Immoscout ab
- Filtert Listings mit Regex & heuristischer Logik (Zimmer, Preis, PLZ)
- Verhindert Dopplungen über gespeicherte IDs
- Sendet neuen Treffer via Discord Webhook in meinen Channel
📦 Beispielcode (Ausschnitt)
import requests
from bs4 import BeautifulSoup
def suche_wohnungen():
url = "https://www.ebay-kleinanzeigen.de/s-wohnung-mieten/55291/c203l6412+wohnung_mieten.zimmer_d:3,10+wohnung_mieten.kaltmiete_c:0.00:800.00"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
for eintrag in soup.find_all('article'):
titel = eintrag.find('a', class_='ellipsis')
if titel:
link = "https://www.ebay-kleinanzeigen.de" + titel['href']
sende_webhook(link)
def sende_webhook(nachricht):
requests.post(
"https://discord.com/api/webhooks/DEIN_WEBHOOK",
json={"content": nachricht}
)
Hinweis: Das hier ist stark vereinfacht. In der echten Version sind Anti-Bot-Header, Regex-Filter, und ein SQLite-Duplikatspeicher enthalten.
🔔 Vorteile
- Nie wieder was verpassen
- Reagiere schneller als jeder andere
- Auch mit Mobilgerät nutzbar (Discord Push)
- Erweitert auf andere Städte oder Portale? Kein Problem.
🔒 Datenschutz?
Nur öffentlich zugängliche Daten – keine APIs oder Logins verwendet.
Der Bot liest, was du auch ohne Account im Browser lesen kannst.
🧪 Weitergedacht?
- Integration in Telegram mit Inline-Bot für Suche & Push
- Mailparser für direkte Antwort-Buttons
- GPT-Antwortgenerator auf neue Wohnungsanzeigen 😏