From 6094d56a08869ddfb2b8ec452ce4bbdf5d62c643 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Max=20L=C3=B6bel?= Date: Tue, 27 May 2025 22:46:26 +0200 Subject: [PATCH] Fixed: Extract specific details (rooms, ...) in wogetra which caused a error if details is empty --- src/wogetra/scraper.py | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/wogetra/scraper.py b/src/wogetra/scraper.py index e296389..7110c8e 100644 --- a/src/wogetra/scraper.py +++ b/src/wogetra/scraper.py @@ -3,6 +3,17 @@ from bs4 import BeautifulSoup WOGETRA_URL = "https://www.wogetra.de/immobilien-vermarktungsart/miete/" +def find_property(details, property): + prop = "N/A" + if details: + prop_row = details.find("div", class_=property) + if prop_row: + dd = prop_row.find("div", class_="dd") + if dd: + prop = dd.text.strip() + return prop + + # Funktion: Scrape von Wogetra def scrape_wogetra(): response = requests.get(WOGETRA_URL) @@ -26,11 +37,12 @@ def scrape_wogetra(): subtitle = subtitle_element.text.strip() if subtitle_element else "No Subtitle" link = link_element["href"] if link_element else "#" - rooms = details.find("div", class_="data-anzahl_zimmer").find("div", class_="dd").text.strip() if details else "N/A" - size = details.find("div", class_="data-wohnflaeche").find("div", class_="dd").text.strip() if details else "N/A" - rent = details.find("div", class_="data-nettokaltmiete").find("div", class_="dd").text.strip() if details else "N/A" - warm_rent = details.find("div", class_="data-warmmiete").find("div", class_="dd").text.strip() if details else "N/A" - availability = details.find("div", class_="data-verfuegbar_ab").find("div", class_="dd").text.strip() if details else "N/A" + # Extract specific details + rooms = find_property(details, "data-anzahl_zimmer") + size = find_property(details, "data-wohnflaeche") + rent = find_property(details, "data-nettokaltmiete") + warm_rent = find_property(details, "data-warmmiete") + availability = find_property(details, "data-verfuegbar_ab") # Add property to list properties.append({