from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from bs4 import BeautifulSoup import atexit def cleanup(driver): print("Das Programm wird beendet. Der WebDriver wird geschlossen.") driver.quit() def suche_auf_gastroteileshop(suchbegriff, anzahl_ergebnisse=5): # WebDriver initialisieren driver = webdriver.Edge() # Registrieren der Cleanup-Funktion atexit.register(cleanup, driver) # URL für die Suche generieren search_url = f'https://www.gastroteileshop.de/?s={suchbegriff}' # Webseite aufrufen und auf das vollständige Laden warten driver.get(search_url) # Warten, bis das Suchfeld sichtbar ist WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, "search-input"))) # Suchbegriff eingeben und Suche starten search_box = driver.find_element(By.CLASS_NAME, "search-input") search_box.clear() # Falls vorheriger Text vorhanden ist search_box.send_keys(suchbegriff) search_box.send_keys(Keys.RETURN) # Auf das Laden der Suchergebnisse warten (falls erforderlich) # Hier könnte man zum Beispiel warten, bis ein bestimmtes Element auf der Ergebnisseite erscheint. # HTML-Inhalt der Suchergebnisse abrufen soup = BeautifulSoup(driver.page_source, 'html.parser') # Extrahiere die Links aus den Suchergebnissen gefundene_links = [a['href'] for a in soup.find_all('a', class_='product-title')] # Ausgabe der gefundenen Links if gefundene_links: print("Gefundene Links:") for link in gefundene_links[:anzahl_ergebnisse]: print(link) else: print("Keine Ergebnisse gefunden.") # Endlosschleife, um den Browser offen zu halten input("Enter zum schließen des fensters") if __name__ == "__main__": # Benutzereingabe suchbegriff_gastroteileshop = input("Welchen Artikel suchst du beim Gastroteileshop? ") # Suche nach dem Artikel und erhalte gefundene Links suche_auf_gastroteileshop(suchbegriff_gastroteileshop)