import requests from bs4 import BeautifulSoup import re BASE_URL = "https://www.bestattung-aichinger.at" URL = f"{BASE_URL}/traueranzeigen--5683197-de.html" def get_page_content(url): page = requests.get(url) return BeautifulSoup(page.content, "html.parser") def extract_data(soup): death_table = soup.find("ul", attrs={"class": "homepage_unterseiten_layout_todesanzeigen"}) death_table_data = death_table.find_all("li") for row in death_table_data: date_span = row.find('span', class_='homepage_unterseiten_layout_datum') date_death = date_span.text.replace('†', '').strip() if date_span else None title_span = row.find('span', class_='homepage_unterseiten_layout_titel') if title_span: title_text = title_span.get_text(separator='\n') title_parts = title_text.split('\n') title_left = title_parts[0].strip() if len(title_parts) > 0 else None title_right = title_parts[1].strip() if len(title_parts) > 1 else None else: title_left = title_right = None print(date_death, title_left, title_right) def find_next_page(current_url): match = re.search(r'\?p=(\d+)', current_url) if match: next_page_num = int(match.group(1)) + 1 else: next_page_num = 2 next_page_url = f"{BASE_URL}/traueranzeigen--5683197-de.html?p={next_page_num}" return next_page_url current_url = URL while current_url: soup = get_page_content(current_url) extract_data(soup) current_url = find_next_page(current_url)