commit 4e730a31910b62bcaf3100a4c33109fbeaacade3 Author: RochoElLocho Date: Thu Nov 23 08:33:44 2023 +0100 Genisis diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..b8b4af5 Binary files /dev/null and b/.DS_Store differ diff --git a/__pycache__/boettcher.cpython-311.pyc b/__pycache__/boettcher.cpython-311.pyc new file mode 100644 index 0000000..803f7b2 Binary files /dev/null and b/__pycache__/boettcher.cpython-311.pyc differ diff --git a/__pycache__/brewes.cpython-311.pyc b/__pycache__/brewes.cpython-311.pyc new file mode 100644 index 0000000..b722d6e Binary files /dev/null and b/__pycache__/brewes.cpython-311.pyc differ diff --git a/__pycache__/bueroshop.cpython-311.pyc b/__pycache__/bueroshop.cpython-311.pyc new file mode 100644 index 0000000..e4e5c8e Binary files /dev/null and b/__pycache__/bueroshop.cpython-311.pyc differ diff --git a/__pycache__/conrad.cpython-311.pyc b/__pycache__/conrad.cpython-311.pyc new file mode 100644 index 0000000..3cadc06 Binary files /dev/null and b/__pycache__/conrad.cpython-311.pyc differ diff --git a/__pycache__/contorion.cpython-311.pyc b/__pycache__/contorion.cpython-311.pyc new file mode 100644 index 0000000..8c24a0a Binary files /dev/null and b/__pycache__/contorion.cpython-311.pyc differ diff --git a/__pycache__/delker.cpython-311.pyc b/__pycache__/delker.cpython-311.pyc new file mode 100644 index 0000000..0059d91 Binary files /dev/null and b/__pycache__/delker.cpython-311.pyc differ diff --git a/__pycache__/esmeyer.cpython-311.pyc b/__pycache__/esmeyer.cpython-311.pyc new file mode 100644 index 0000000..feca087 Binary files /dev/null and b/__pycache__/esmeyer.cpython-311.pyc differ diff --git a/__pycache__/gastrokaufhaus.cpython-311.pyc b/__pycache__/gastrokaufhaus.cpython-311.pyc new file mode 100644 index 0000000..10d326b Binary files /dev/null and b/__pycache__/gastrokaufhaus.cpython-311.pyc differ diff --git a/__pycache__/gastroteileshop.cpython-311.pyc b/__pycache__/gastroteileshop.cpython-311.pyc new file mode 100644 index 0000000..9654c1d Binary files /dev/null and b/__pycache__/gastroteileshop.cpython-311.pyc differ diff --git a/__pycache__/haefele.cpython-311.pyc b/__pycache__/haefele.cpython-311.pyc new file mode 100644 index 0000000..4f9288e Binary files /dev/null and b/__pycache__/haefele.cpython-311.pyc differ diff --git a/__pycache__/hornbach.cpython-311.pyc b/__pycache__/hornbach.cpython-311.pyc new file mode 100644 index 0000000..dc2b515 Binary files /dev/null and b/__pycache__/hornbach.cpython-311.pyc differ diff --git a/__pycache__/hygi.cpython-311.pyc b/__pycache__/hygi.cpython-311.pyc new file mode 100644 index 0000000..a4ce215 Binary files /dev/null and b/__pycache__/hygi.cpython-311.pyc differ diff --git a/__pycache__/ips.cpython-311.pyc b/__pycache__/ips.cpython-311.pyc new file mode 100644 index 0000000..8fe5272 Binary files /dev/null and b/__pycache__/ips.cpython-311.pyc differ diff --git a/__pycache__/knauss.cpython-311.pyc b/__pycache__/knauss.cpython-311.pyc new file mode 100644 index 0000000..48951bd Binary files /dev/null and b/__pycache__/knauss.cpython-311.pyc differ diff --git a/__pycache__/kosatec.cpython-311.pyc b/__pycache__/kosatec.cpython-311.pyc new file mode 100644 index 0000000..d6d437f Binary files /dev/null and b/__pycache__/kosatec.cpython-311.pyc differ diff --git a/__pycache__/lusini.cpython-311.pyc b/__pycache__/lusini.cpython-311.pyc new file mode 100644 index 0000000..bf54962 Binary files /dev/null and b/__pycache__/lusini.cpython-311.pyc differ diff --git a/__pycache__/megabad.cpython-311.pyc b/__pycache__/megabad.cpython-311.pyc new file mode 100644 index 0000000..c5c6ce6 Binary files /dev/null and b/__pycache__/megabad.cpython-311.pyc differ diff --git a/__pycache__/papstar.cpython-311.pyc b/__pycache__/papstar.cpython-311.pyc new file mode 100644 index 0000000..270b882 Binary files /dev/null and b/__pycache__/papstar.cpython-311.pyc differ diff --git a/__pycache__/reichelt.cpython-311.pyc b/__pycache__/reichelt.cpython-311.pyc new file mode 100644 index 0000000..ccd38a6 Binary files /dev/null and b/__pycache__/reichelt.cpython-311.pyc differ diff --git a/__pycache__/schafferer.cpython-311.pyc b/__pycache__/schafferer.cpython-311.pyc new file mode 100644 index 0000000..485cbe5 Binary files /dev/null and b/__pycache__/schafferer.cpython-311.pyc differ diff --git a/__pycache__/schildershop24.cpython-311.pyc b/__pycache__/schildershop24.cpython-311.pyc new file mode 100644 index 0000000..437e0af Binary files /dev/null and b/__pycache__/schildershop24.cpython-311.pyc differ diff --git a/__pycache__/tiroled.cpython-311.pyc b/__pycache__/tiroled.cpython-311.pyc new file mode 100644 index 0000000..c5f0d8d Binary files /dev/null and b/__pycache__/tiroled.cpython-311.pyc differ diff --git a/boettcher.py b/boettcher.py new file mode 100644 index 0000000..6cfdfe4 --- /dev/null +++ b/boettcher.py @@ -0,0 +1,84 @@ +from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton +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 sys + +class WebseitenSucheApp(QWidget): + def __init__(self): + super().__init__() + + self.initUI() + + def initUI(self): + # GUI-Elemente erstellen + self.exit_button = QPushButton('Beenden', self) + + # Layout erstellen + vbox = QVBoxLayout() + vbox.addWidget(self.exit_button) + + # Verbinden Sie den Exit-Button mit der Funktion + self.exit_button.clicked.connect(QApplication.quit) + + # Setzen Sie das Layout + self.setLayout(vbox) + + # Fenster Eigenschaften setzen + self.setWindowTitle('Webseiten Suchapp') + self.setGeometry(300, 300, 300, 150) + +def suche_auf_boettcher(suchbegriff, anzahl_ergebnisse=5): + # WebDriver initialisieren + driver = webdriver.Edge() + + # URL für die Suche generieren + search_url = 'https://www.bueromarkt-ag.de/' # Bitte die tatsächliche URL einsetzen + + # Webseite aufrufen und auf das vollständige Laden warten + driver.get(search_url) + WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "autocomplete-0-input"))) + + # Suchbegriff eingeben und Suche starten + search_box = driver.find_element(By.ID, "autocomplete-0-input") + search_box.clear() # Falls vorheriger Text vorhanden ist + search_box.send_keys(suchbegriff) + + # Enter-Taste drücken, um die Suche zu starten (falls notwendig) + search_box.send_keys(Keys.RETURN) + + # 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')][:anzahl_ergebnisse] + + # Ausgabe der gefundenen Links + if gefundene_links: + print("Gefundene Links:") + for link in gefundene_links: + print(link) + else: + print("Keine Ergebnisse gefunden.") + + # Hier können Sie den Browser offen lassen, damit Sie die Ergebnisse sehen können. + #input("Drücken Sie Enter, um den Browser zu schließen...") + + # WebDriver schließen + driver.quit() + +if __name__ == "__main__": + app = QApplication(sys.argv) + window = WebseitenSucheApp() + window.show() + + # Benutzereingabe + suchbegriff_boettcher = input("Nach welchen Produkten suchen Sie auf boettcher.de? ") + + # Suche nach dem Artikel und erhalte gefundene Links + suche_auf_boettcher(suchbegriff_boettcher) + + sys.exit(app.exec_()) diff --git a/brewes.py b/brewes.py new file mode 100644 index 0000000..53b13bd --- /dev/null +++ b/brewes.py @@ -0,0 +1,53 @@ +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 time + +def suche_auf_brewes(suchbegriff, anzahl_ergebnisse=5): + # WebDriver initialisieren + driver = webdriver.Edge() + + # URL für die Suche generieren + search_url = 'https://www.brewes.de/catalogsearch/result?q=' + + # Webseite aufrufen und auf das vollständige Laden warten + driver.get(search_url) + WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "search"))) + + # Suchbegriff eingeben und Suche starten + search_box = driver.find_element(By.ID, "search") + search_box.clear() # Falls vorheriger Text vorhanden ist + search_box.send_keys(suchbegriff) + search_box.send_keys(Keys.RETURN) + + + + # 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')][:anzahl_ergebnisse] + + # Ausgabe der gefundenen Links + if gefundene_links: + print("Gefundene Links:") + for link in gefundene_links: + print(link) + else: + print("Keine Ergebnisse gefunden.") + + # Hier können Sie den Browser offen lassen, damit Sie die Ergebnisse sehen können. + input("Drücken Sie Enter, um den Browser zu schließen...") + + # WebDriver schließen + driver.quit() + +if __name__ == "__main__": + # Benutzereingabe + suchbegriff_brewes = input("Nach welchem Produkt suchen Sie auf Brewes? ") + + # Suche nach dem Artikel und erhalte gefundene Links + suche_auf_brewes(suchbegriff_brewes) diff --git a/bueroshop.py b/bueroshop.py new file mode 100644 index 0000000..a1e7720 --- /dev/null +++ b/bueroshop.py @@ -0,0 +1,53 @@ +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 time + +def suche_auf_bueroshop24(suchbegriff, anzahl_ergebnisse=5): + # WebDriver initialisieren + driver = webdriver.Edge() + + # URL für die Suche generieren + search_url = 'https://www.bueroshop24.de/' # Bitte die tatsächliche URL einsetzen + + # Webseite aufrufen und auf das vollständige Laden warten + driver.get(search_url) + WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "searchTerm"))) + + # Suchbegriff eingeben und Suche starten + search_box = driver.find_element(By.ID, "searchTerm") + search_box.clear() # Falls vorheriger Text vorhanden ist + search_box.send_keys(suchbegriff) + + # Enter-Taste drücken, um die Suche zu starten (falls notwendig) + search_box.send_keys(Keys.RETURN) + + # 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')][:anzahl_ergebnisse] + + # Ausgabe der gefundenen Links + if gefundene_links: + print("Gefundene Links:") + for link in gefundene_links: + print(link) + else: + print("Keine Ergebnisse gefunden.") + + # Hier können Sie den Browser offen lassen, damit Sie die Ergebnisse sehen können. + input("Drücken Sie Enter, um den Browser zu schließen...") + + # WebDriver schließen + driver.quit() + +if __name__ == "__main__": + # Benutzereingabe + suchbegriff_bueroshop24 = input("Nach welchen Produkten suchen Sie auf bueroshop24.de? ") + + # Suche nach dem Artikel und erhalte gefundene Links + suche_auf_bueroshop24(suchbegriff_bueroshop24) diff --git a/conrad.py b/conrad.py new file mode 100644 index 0000000..46f86ac --- /dev/null +++ b/conrad.py @@ -0,0 +1,55 @@ +from selenium import webdriver +from selenium.webdriver.common.keys import Keys +from selenium.webdriver.common.by import By +from selenium.webdriver.support.ui import WebDriverWait +from selenium.webdriver.support import expected_conditions as EC +from bs4 import BeautifulSoup + +def suche_auf_conrad(suchbegriff, anzahl_ergebnisse=5): + # WebDriver initialisieren + driver = webdriver.Edge() + + # Such-URL generieren + search_url = f'https://www.conrad.de/search.html?search={suchbegriff}' + + # Webseite aufrufen und auf das vollständige Laden warten + driver.get(search_url) + WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "header-search"))) + + # Suchbegriff eingeben + search_box = driver.find_element(By.ID, "header-search") + search_box.clear() # Falls vorheriger Text vorhanden ist + search_box.send_keys(suchbegriff) + + # Enter-Taste drücken + 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-name')] + + # Ausgabe der gefundenen Links + if gefundene_links: + print("Gefundene Links:") + for link in gefundene_links: + print(link) + else: + print("Keine Ergebnisse gefunden.") + + # Endlosschleife, um den Browser offen zu halten + input("Drücken Sie Enter, um den Browser zu schließen...") + + # WebDriver schließen + driver.quit() + +if __name__ == "__main__": + # Benutzereingabe + suchbegriff_conrad = input("Welchen Artikel suchst du bei Conrad? ") + + # Suche nach dem Artikel und erhalte gefundene Links + suche_auf_conrad(suchbegriff_conrad) diff --git a/contorion.py b/contorion.py new file mode 100644 index 0000000..7df9fad --- /dev/null +++ b/contorion.py @@ -0,0 +1,55 @@ +from selenium import webdriver +from selenium.webdriver.common.keys import Keys +from selenium.webdriver.common.by import By +from selenium.webdriver.support.ui import WebDriverWait +from selenium.webdriver.support import expected_conditions as EC +from bs4 import BeautifulSoup + +def suche_auf_contorion(suchbegriff, anzahl_ergebnisse=5): + # WebDriver initialisieren + driver = webdriver.Edge() + + # Such-URL generieren + search_url = f'https://www.contorion.de/suche?q={suchbegriff}' + + # Webseite aufrufen und auf das vollständige Laden warten + driver.get(search_url) + WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "search-input"))) + + # Suchbegriff eingeben + search_box = driver.find_element(By.ID, "search-input") + search_box.clear() # Falls vorheriger Text vorhanden ist + search_box.send_keys(suchbegriff) + + # Enter-Taste drücken + 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_='c-product-tile__title')] + + # Ausgabe der gefundenen Links + if gefundene_links: + print("Gefundene Links:") + for link in gefundene_links: + print(link) + else: + print("Keine Ergebnisse gefunden.") + + # Endlosschleife, um den Browser offen zu halten + input("Drücken Sie Enter, um den Browser zu schließen...") + + # WebDriver schließen + driver.quit() + +if __name__ == "__main__": + # Benutzereingabe + suchbegriff_contorion = input("Welchen Artikel suchst du bei Contorion? ") + + # Suche nach dem Artikel und erhalte gefundene Links + suche_auf_contorion(suchbegriff_contorion) diff --git a/delker.py b/delker.py new file mode 100644 index 0000000..e2e9d9b --- /dev/null +++ b/delker.py @@ -0,0 +1,55 @@ +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 time + +def suche_auf_delker(suchbegriff, anzahl_ergebnisse=5): + # WebDriver initialisieren + driver = webdriver.Edge() + + # URL für die Suche generieren + search_url = 'https://www.delker2business.com/nw2017/' + + # Webseite aufrufen und auf das vollständige Laden warten + driver.get(search_url) + WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, "query"))) + + # Suchbegriff eingeben und Suche starten + search_box = driver.find_element(By.NAME, "query") + search_box.clear() # Falls vorheriger Text vorhanden ist + search_box.send_keys(suchbegriff) + + # Enter-Taste drücken, um die Suche zu starten + search_box.send_keys(Keys.RETURN) + + + + # 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')][:anzahl_ergebnisse] + + # Ausgabe der gefundenen Links + if gefundene_links: + print("Gefundene Links:") + for link in gefundene_links: + print(link) + else: + print("Keine Ergebnisse gefunden.") + + # Hier können Sie den Browser offen lassen, damit Sie die Ergebnisse sehen können. + input("Drücken Sie Enter, um den Browser zu schließen...") + + # WebDriver schließen + driver.quit() + +if __name__ == "__main__": + # Benutzereingabe + suchbegriff_delker = input("Nach welchem Produkt suchen Sie auf Delker? ") + + # Suche nach dem Artikel und erhalte gefundene Links + suche_auf_delker(suchbegriff_delker) diff --git a/esmeyer.py b/esmeyer.py new file mode 100644 index 0000000..2d86b08 --- /dev/null +++ b/esmeyer.py @@ -0,0 +1,54 @@ +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 time + +def suche_auf_esmeyer(suchbegriff, anzahl_ergebnisse=5): + # WebDriver initialisieren + driver = webdriver.Edge() + + # URL für die Suche generieren + search_url = 'https://www.esmeyer-shop.de/' + + # Webseite aufrufen und auf das vollständige Laden warten + driver.get(search_url) + WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, "search"))) + + # Suchbegriff eingeben und Suche starten + search_box = driver.find_element(By.NAME, "search") + search_box.clear() # Falls vorheriger Text vorhanden ist + search_box.send_keys(suchbegriff) + + # Enter-Taste drücken, um die Suche zu starten + search_box.send_keys(Keys.RETURN) + + + # 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')][:anzahl_ergebnisse] + + # Ausgabe der gefundenen Links + if gefundene_links: + print("Gefundene Links:") + for link in gefundene_links: + print(link) + else: + print("Keine Ergebnisse gefunden.") + + # Hier können Sie den Browser offen lassen, damit Sie die Ergebnisse sehen können. + input("Drücken Sie Enter, um den Browser zu schließen...") + + # WebDriver schließen + driver.quit() + +if __name__ == "__main__": + # Benutzereingabe + suchbegriff_essmeyer = input("Nach welchen Produkten suchen Sie auf Esmeyer? ") + + # Suche nach dem Artikel und erhalte gefundene Links + suche_auf_essmeyer(suchbegriff_essmeyer) diff --git a/gastrokaufhaus.py b/gastrokaufhaus.py new file mode 100644 index 0000000..4893a9d --- /dev/null +++ b/gastrokaufhaus.py @@ -0,0 +1,53 @@ +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 time + +def suche_auf_gastronomie_kaufhaus(suchbegriff, anzahl_ergebnisse=5): + # WebDriver initialisieren + driver = webdriver.Edge() + + # URL für die Suche generieren + search_url = 'https://www.gastronomie-kaufhaus.de/' # Bitte die tatsächliche URL einsetzen + + # Webseite aufrufen und auf das vollständige Laden warten + driver.get(search_url) + WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "searchParam"))) + + # Suchbegriff eingeben und Suche starten + search_box = driver.find_element(By.ID, "searchParam") + search_box.clear() # Falls vorheriger Text vorhanden ist + search_box.send_keys(suchbegriff) + + # Enter-Taste drücken, um die Suche zu starten (falls notwendig) + search_box.send_keys(Keys.RETURN) + + # 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')][:anzahl_ergebnisse] + + # Ausgabe der gefundenen Links + if gefundene_links: + print("Gefundene Links:") + for link in gefundene_links: + print(link) + else: + print("Keine Ergebnisse gefunden.") + + # Hier können Sie den Browser offen lassen, damit Sie die Ergebnisse sehen können. + input("Drücken Sie Enter, um den Browser zu schließen...") + + # WebDriver schließen + driver.quit() + +if __name__ == "__main__": + # Benutzereingabe + suchbegriff_gastronomie_kaufhaus = input("Nach welchen Produkten suchen Sie auf gastronomie-kaufhaus.de? ") + + # Suche nach dem Artikel und erhalte gefundene Links + suche_auf_gastronomie_kaufhaus(suchbegriff_gastronomie_kaufhaus) diff --git a/gastroteileshop.py b/gastroteileshop.py new file mode 100644 index 0000000..6d9d4d0 --- /dev/null +++ b/gastroteileshop.py @@ -0,0 +1,59 @@ +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) diff --git a/haefele.py b/haefele.py new file mode 100644 index 0000000..d90ec7c --- /dev/null +++ b/haefele.py @@ -0,0 +1,55 @@ +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 time + +def suche_auf_haefele(suchbegriff, anzahl_ergebnisse=5): + # WebDriver initialisieren + driver = webdriver.Edge() + + # URL für die Suche generieren + search_url = 'https://www.haefele.de/' + + # Webseite aufrufen und auf das vollständige Laden warten + driver.get(search_url) + WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "inputSearchTerm"))) + + # Suchbegriff eingeben und Suche starten + search_box = driver.find_element(By.ID, "inputSearchTerm") + search_box.clear() # Falls vorheriger Text vorhanden ist + search_box.send_keys(suchbegriff) + + # Enter-Taste drücken, um die Suche zu starten + search_box.send_keys(Keys.RETURN) + + + + # 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')][:anzahl_ergebnisse] + + # Ausgabe der gefundenen Links + if gefundene_links: + print("Gefundene Links:") + for link in gefundene_links: + print(link) + else: + print("Keine Ergebnisse gefunden.") + + # Hier können Sie den Browser offen lassen, damit Sie die Ergebnisse sehen können. + input("Drücken Sie Enter, um den Browser zu schließen...") + + # WebDriver schließen + driver.quit() + +if __name__ == "__main__": + # Benutzereingabe + suchbegriff_haefele = input("Nach welchen Produkten suchen Sie auf Häfele? ") + + # Suche nach dem Artikel und erhalte gefundene Links + suche_auf_haefele(suchbegriff_haefele) diff --git a/hornbach.py b/hornbach.py new file mode 100644 index 0000000..d4c0fb9 --- /dev/null +++ b/hornbach.py @@ -0,0 +1,53 @@ +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 time + +def suche_auf_hornbach(suchbegriff, anzahl_ergebnisse=5): + # WebDriver initialisieren + driver = webdriver.Edge() + + # URL für die Suche generieren + search_url = 'https://www.hornbach.de/s/' + + # Webseite aufrufen und auf das vollständige Laden warten + driver.get(search_url) + WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, "global_search"))) + + # Suchbegriff eingeben und Suche starten + search_box = driver.find_element(By.NAME, "global_search") + 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 + #WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, ".search-result-item"))) + + # 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_='articlelink')] + + # Ausgabe der gefundenen Links + if gefundene_links: + print("Gefundene Links:") + for link in gefundene_links: + print(link) + else: + print("Keine Ergebnisse gefunden.") + + # Hier können Sie den Browser offen lassen, damit Sie die Ergebnisse sehen können. + input("Drücken Sie Enter, um den Browser zu schließen...") + + # WebDriver schließen + driver.quit() +if __name__ == "__main__": + # Benutzereingabe + suchbegriff_hornbach = input("Welchen Artikel suchst du bei Hornbach? ") + + # Suche nach dem Artikel und erhalte gefundene Links + gefundene_links_hornbach = suche_auf_hornbach(suchbegriff_hornbach) diff --git a/hygi.py b/hygi.py new file mode 100644 index 0000000..fd17a16 --- /dev/null +++ b/hygi.py @@ -0,0 +1,53 @@ +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 time + +def suche_auf_hygi(suchbegriff, anzahl_ergebnisse=5): + # WebDriver initialisieren + driver = webdriver.Edge() + + # URL für die Suche generieren + search_url = 'https://www.hygi.de/' + + # Webseite aufrufen und auf das vollständige Laden warten + driver.get(search_url) + WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "qbox"))) + + # Suchbegriff eingeben und Suche starten + search_box = driver.find_element(By.ID, "qbox") + search_box.clear() # Falls vorheriger Text vorhanden ist + search_box.send_keys(suchbegriff) + + # Enter-Taste drücken, um die Suche zu starten + search_box.send_keys(Keys.RETURN) + + # 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')][:anzahl_ergebnisse] + + # Ausgabe der gefundenen Links + if gefundene_links: + print("Gefundene Links:") + for link in gefundene_links: + print(link) + else: + print("Keine Ergebnisse gefunden.") + + # Hier können Sie den Browser offen lassen, damit Sie die Ergebnisse sehen können. + input("Drücken Sie Enter, um den Browser zu schließen...") + + # WebDriver schließen + driver.quit() + +if __name__ == "__main__": + # Benutzereingabe + suchbegriff_hygi = input("Nach welchen Produkten suchen Sie auf Hygi.de? ") + + # Suche nach dem Artikel und erhalte gefundene Links + suche_auf_hygi(suchbegriff_hygi) diff --git a/ips.py b/ips.py new file mode 100644 index 0000000..a6ae00d --- /dev/null +++ b/ips.py @@ -0,0 +1,53 @@ +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 time + +def suche_auf_ips_shop(suchbegriff, anzahl_ergebnisse=5): + # WebDriver initialisieren + driver = webdriver.Edge() + + # URL für die Suche generieren + search_url = 'https://www.ips-kts.com/de/suche?query=' + + # Webseite aufrufen und auf das vollständige Laden warten + driver.get(search_url) + WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, "query"))) + + # Suchbegriff eingeben und Suche starten + search_box = driver.find_element(By.NAME, "query") + search_box.clear() # Falls vorheriger Text vorhanden ist + search_box.send_keys(suchbegriff) + search_box.send_keys(Keys.RETURN) + + + + # 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')][:anzahl_ergebnisse] + + # Ausgabe der gefundenen Links + if gefundene_links: + print("Gefundene Links:") + for link in gefundene_links: + print(link) + else: + print("Keine Ergebnisse gefunden.") + + # Hier können Sie den Browser offen lassen, damit Sie die Ergebnisse sehen können. + input("Drücken Sie Enter, um den Browser zu schließen...") + + # WebDriver schließen + driver.quit() + +if __name__ == "__main__": + # Benutzereingabe + suchbegriff_ips_shop = input("Welchen Artikel suchst du bei IPS Shop? ") + + # Suche nach dem Artikel und erhalte gefundene Links + suche_auf_ips_shop(suchbegriff_ips_shop) diff --git a/knauss.py b/knauss.py new file mode 100644 index 0000000..d112962 --- /dev/null +++ b/knauss.py @@ -0,0 +1,55 @@ +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 time + +def suche_auf_knauss(suchbegriff, anzahl_ergebnisse=5): + # WebDriver initialisieren + driver = webdriver.Edge() + + # URL für die Suche generieren + search_url = 'https://www.knauss.info/' + + # Webseite aufrufen und auf das vollständige Laden warten + driver.get(search_url) + WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, "sSearch"))) + + # Suchbegriff eingeben und Suche starten + search_box = driver.find_element(By.NAME, "sSearch") + search_box.clear() # Falls vorheriger Text vorhanden ist + search_box.send_keys(suchbegriff) + + # Enter-Taste drücken, um die Suche zu starten + search_box.send_keys(Keys.RETURN) + + + + # 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')][:anzahl_ergebnisse] + + # Ausgabe der gefundenen Links + if gefundene_links: + print("Gefundene Links:") + for link in gefundene_links: + print(link) + else: + print("Keine Ergebnisse gefunden.") + + # Hier können Sie den Browser offen lassen, damit Sie die Ergebnisse sehen können. + input("Drücken Sie Enter, um den Browser zu schließen...") + + # WebDriver schließen + driver.quit() + +if __name__ == "__main__": + # Benutzereingabe + suchbegriff_knauss = input("Nach welchem Produkt suchen Sie auf Knauss? ") + + # Suche nach dem Artikel und erhalte gefundene Links + suche_auf_knauss(suchbegriff_knauss) diff --git a/kosatec.py b/kosatec.py new file mode 100644 index 0000000..cefcf04 --- /dev/null +++ b/kosatec.py @@ -0,0 +1,55 @@ +from selenium import webdriver +from selenium.webdriver.common.keys import Keys +from selenium.webdriver.common.by import By +from selenium.webdriver.support.ui import WebDriverWait +from selenium.webdriver.support import expected_conditions as EC +from bs4 import BeautifulSoup + +def suche_auf_kosatec(suchbegriff, anzahl_ergebnisse=5): + # WebDriver initialisieren + driver = webdriver.Edge() + + # Such-URL generieren + search_url = f'https://www.kosatec.de/suche?query={suchbegriff}' + + # Webseite aufrufen und auf das vollständige Laden warten + driver.get(search_url) + WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, "input[name='search']"))) + + # Suchbegriff eingeben + search_box = driver.find_element(By.CSS_SELECTOR, "input[name='search']") + search_box.clear() # Falls vorheriger Text vorhanden ist + search_box.send_keys(suchbegriff) + + # Enter-Taste drücken + 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: + print(link) + else: + print("Keine Ergebnisse gefunden.") + + # Endlosschleife, um den Browser offen zu halten + input("Drücken Sie Enter, um den Browser zu schließen...") + + # WebDriver schließen + driver.quit() + +if __name__ == "__main__": + # Benutzereingabe + suchbegriff_kosatec = input("Welchen Artikel suchst du bei Kosatec? ") + + # Suche nach dem Artikel und erhalte gefundene Links + suche_auf_kosatec(suchbegriff_kosatec) diff --git a/lusini.py b/lusini.py new file mode 100644 index 0000000..b052058 --- /dev/null +++ b/lusini.py @@ -0,0 +1,54 @@ +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 time + +def suche_auf_lusini(suchbegriff, anzahl_ergebnisse=5): + # WebDriver initialisieren + driver = webdriver.Edge() + + # URL für die Suche generieren + search_url = 'https://www.lusini.de/' + + # Webseite aufrufen und auf das vollständige Laden warten + driver.get(search_url) + WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "search-input"))) + + # Suchbegriff eingeben und Suche starten + search_box = driver.find_element(By.ID, "search-input") + search_box.clear() # Falls vorheriger Text vorhanden ist + search_box.send_keys(suchbegriff) + + # Enter-Taste drücken, um die Suche zu starten + search_box.send_keys(Keys.RETURN) + + + # 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')][:anzahl_ergebnisse] + + # Ausgabe der gefundenen Links + if gefundene_links: + print("Gefundene Links:") + for link in gefundene_links: + print(link) + else: + print("Keine Ergebnisse gefunden.") + + # Hier können Sie den Browser offen lassen, damit Sie die Ergebnisse sehen können. + input("Drücken Sie Enter, um den Browser zu schließen...") + + # WebDriver schließen + driver.quit() + +if __name__ == "__main__": + # Benutzereingabe + suchbegriff_lusini = input("Nach welchen Produkten suchen Sie auf Lusini? ") + + # Suche nach dem Artikel und erhalte gefundene Links + suche_auf_lusini(suchbegriff_lusini) diff --git a/main.py b/main.py new file mode 100644 index 0000000..01a5f3e --- /dev/null +++ b/main.py @@ -0,0 +1,178 @@ +import sys +from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel, QLineEdit, QPushButton, QCheckBox, QMessageBox +from concurrent.futures import ThreadPoolExecutor +from hornbach import suche_auf_hornbach +from reichelt import suche_auf_reichelt +from kosatec import suche_auf_kosatec +from conrad import suche_auf_conrad +from contorion import suche_auf_contorion +from gastroteileshop import suche_auf_gastroteileshop +from tiroled import suche_auf_tiroled +from megabad import suche_auf_megabad +from ips import suche_auf_ips_shop +from brewes import suche_auf_brewes +from delker import suche_auf_delker +from knauss import suche_auf_knauss +from schildershop24 import suche_auf_schildershop24 +from haefele import suche_auf_haefele +from esmeyer import suche_auf_esmeyer +from papstar import suche_auf_papstar +from lusini import suche_auf_lusini +from hygi import suche_auf_hygi +from schafferer import suche_auf_schafferer +from gastrokaufhaus import suche_auf_gastronomie_kaufhaus +from boettcher import suche_auf_boettcher +from bueroshop import suche_auf_bueroshop24 + +class WebseitenSucheApp(QWidget): + def __init__(self): + super().__init__() + + self.selected_webpages = { + "Reichelt": False, + "Conrad": False, + "Kosatec": False, + "Hornbach": False, + "Contorion": False, + "Gastro Teile Shop": False, + "TiroLED": False, + "Megabad": False, + "IPS": False, + "Brewes": False, + "Delker": False, + "Knauss": False, + "Schildershop24": False, + "Häfele": False, + "Esmeyer": False, + "Papstar": False, + "Lusini": False, + "Hygi": False, + "Schafferer": False, + "Gastronomie Kaufhaus": False, + "Böttcher": False, + "Büroshop24": False + } + + self.search_term = "" + + self.init_ui() + + def init_ui(self): + layout = QVBoxLayout() + + # Webseiten-Auswahl + layout.addWidget(QLabel("Wählen Sie die Webseiten aus:")) + for webpage, checked in self.selected_webpages.items(): + checkbox = QCheckBox(webpage) + checkbox.setChecked(checked) + checkbox.stateChanged.connect(lambda state, page=webpage: self.update_webpage_state(page, state)) + layout.addWidget(checkbox) + + # Suchbegriff-Eingabe + search_label = QLabel("Geben Sie den Suchbegriff ein:") + layout.addWidget(search_label) + + search_input = QLineEdit(self) + search_input.textChanged.connect(self.update_search_term) + layout.addWidget(search_input) + + # Suchen-Button + search_button = QPushButton("Suche starten", self) + search_button.clicked.connect(self.start_search) + layout.addWidget(search_button) + + # Neues Suche-Button + new_search_button = QPushButton("Neue Suche starten", self) + new_search_button.clicked.connect(self.new_search) + layout.addWidget(new_search_button) + + self.setLayout(layout) + self.setGeometry(300, 300, 400, 200) + self.setWindowTitle('Webseiten Suche App') + self.show() + + def update_webpage_state(self, webpage, state): + self.selected_webpages[webpage] = state == 2 # 2 entspricht dem Zustand "ausgewählt" + + def update_search_term(self, text): + self.search_term = text + + def start_search(self): + selected_webpages = [webpage for webpage, selected in self.selected_webpages.items() if selected] + + if not selected_webpages: + QMessageBox.warning(self, "Fehler", "Bitte wählen Sie mindestens eine Webseite aus.") + return + + if not self.search_term: + QMessageBox.warning(self, "Fehler", "Bitte geben Sie einen Suchbegriff ein.") + return + + try: + with ThreadPoolExecutor() as executor: + futures = [] + + for webseite in selected_webpages: + # Fügen Sie hier Ihre anderen Suchfunktionen hinzu + + if webseite == "Reichelt": + futures.append(executor.submit(suche_auf_reichelt, self.search_term)) + elif webseite == "Conrad": + futures.append(executor.submit(suche_auf_conrad, self.search_term)) + elif webseite == "Kosatec": + futures.append(executor.submit(suche_auf_kosatec, self.search_term)) + elif webseite == "Hornbach": + futures.append(executor.submit(suche_auf_hornbach, self.search_term)) + elif webseite =="Contorion": + futures.append(executor.submit(suche_auf_contorion, self.search_term)) + elif webseite == "Gastro Teile Shop": + futures.append(executor.submit(suche_auf_gastroteileshop, self.search_term)) + elif webseite == "TiroLED": + futures.append(executor.submit(suche_auf_tiroled, self.search_term)) + elif webseite == "Megabad": + futures.append(executor.submit(suche_auf_megabad, self.search_term)) + elif webseite == "IPS": + futures.append(executor.submit(suche_auf_ips_shop, self.search_term)) + elif webseite == "Brewes": + futures.append(executor.submit(suche_auf_brewes, self.search_term)) + elif webseite == "Delker": + futures.appen(executor.submit(suche_auf_delker, self.search_term)) + elif webseite == "Knauss": + futures.append(executor.submit(suche_auf_knauss, self.search_term)) + elif webseite == "Schildershop24": + futures.append(executor.submit(suche_auf_schildershop24, self.search_term)) + elif webseite == "Häfele": + futures.append(executor.submit(suche_auf_haefele, self.search_term)) + elif webseite == "Esmeyer": + futures.append(executor.submit(suche_auf_esmeyer, self.search_term)) + elif webseite == "Papstar": + futures.append(executor.submit(suche_auf_papstar, self.search_term)) + elif webseite == "Lusini": + futures.append(executor.submit(suche_auf_lusini, self.search_term)) + elif webseite == "Hygi": + futures.append(executor.submit(suche_auf_hygi, self.search_term)) + elif webseite == "Schafferer": + futures.append(executor.submit(suche_auf_schafferer, self.search_term)) + elif webseite == "Gastronomie Kaufhaus": + futures.append(executor.submit(suche_auf_gastronomie_kaufhaus, self.search_term)) + elif webseite == "Böttcher": + futures.append(executor.submit(suche_auf_boettcher, self.search_term)) + elif webseite == "Büroshop24": + futures.append(executor.submit(suche_auf_bueroshop24, self.search_term)) + + for future in futures: + future.result() # Warte auf das Ende der Suche + + QMessageBox.information(self, "Suche abgeschlossen", "Die Suche wurde erfolgreich abgeschlossen.") + except Exception as e: + QMessageBox.critical(self, "Fehler", f"Fehler bei der Suche: {e}") + + def new_search(self): + # Implementieren Sie hier die Logik für eine neue Suche + # Das könnte bedeuten, dass Sie die GUI zurücksetzen oder andere Vorbereitungen treffen + print("Neue Suche starten") + +if __name__ == '__main__': + app = QApplication(sys.argv) + window = WebseitenSucheApp() + sys.exit(app.exec_()) diff --git a/megabad.py b/megabad.py new file mode 100644 index 0000000..1cc2914 --- /dev/null +++ b/megabad.py @@ -0,0 +1,53 @@ +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 time + +def suche_auf_megabad(suchbegriff, anzahl_ergebnisse=5): + # WebDriver initialisieren + driver = webdriver.Edge() + + # URL für die Suche generieren + search_url = 'https://www.megabad.com/' + + # Webseite aufrufen und auf das vollständige Laden warten + driver.get(search_url) + WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "search-bar-input"))) + + # Suchbegriff eingeben und Suche starten + search_box = driver.find_element(By.ID, "search-bar-input") + search_box.clear() # Falls vorheriger Text vorhanden ist + search_box.send_keys(suchbegriff) + search_box.send_keys(Keys.RETURN) + + + + # 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')][:anzahl_ergebnisse] + + # Ausgabe der gefundenen Links + if gefundene_links: + print("Gefundene Links:") + for link in gefundene_links: + print(link) + else: + print("Keine Ergebnisse gefunden.") + + # Hier können Sie den Browser offen lassen, damit Sie die Ergebnisse sehen können. + input("Drücken Sie Enter, um den Browser zu schließen...") + + # WebDriver schließen + driver.quit() + +if __name__ == "__main__": + # Benutzereingabe + suchbegriff_megabad = input("Welchen Artikel suchst du bei Megabad? ") + + # Suche nach dem Artikel und erhalte gefundene Links + suche_auf_megabad(suchbegriff_megabad) diff --git a/papstar.py b/papstar.py new file mode 100644 index 0000000..73e1a6b --- /dev/null +++ b/papstar.py @@ -0,0 +1,54 @@ +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 time + +def suche_auf_papstar(suchbegriff, anzahl_ergebnisse=5): + # WebDriver initialisieren + driver = webdriver.Edge() + + # URL für die Suche generieren + search_url = 'https://www.papstar-shop.de/' + + # Webseite aufrufen und auf das vollständige Laden warten + driver.get(search_url) + WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "search"))) + + # Suchbegriff eingeben und Suche starten + search_box = driver.find_element(By.ID, "search") + search_box.clear() # Falls vorheriger Text vorhanden ist + search_box.send_keys(suchbegriff) + + # Enter-Taste drücken, um die Suche zu starten + search_box.send_keys(Keys.RETURN) + + + # 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')][:anzahl_ergebnisse] + + # Ausgabe der gefundenen Links + if gefundene_links: + print("Gefundene Links:") + for link in gefundene_links: + print(link) + else: + print("Keine Ergebnisse gefunden.") + + # Hier können Sie den Browser offen lassen, damit Sie die Ergebnisse sehen können. + input("Drücken Sie Enter, um den Browser zu schließen...") + + # WebDriver schließen + driver.quit() + +if __name__ == "__main__": + # Benutzereingabe + suchbegriff_papstar = input("Nach welchen Produkten suchen Sie auf Papstar? ") + + # Suche nach dem Artikel und erhalte gefundene Links + suche_auf_papstar(suchbegriff_papstar) diff --git a/reichelt.py b/reichelt.py new file mode 100644 index 0000000..0e483b2 --- /dev/null +++ b/reichelt.py @@ -0,0 +1,58 @@ +from selenium import webdriver +from selenium.webdriver.common.by import By +from selenium.webdriver.support.ui import WebDriverWait +from selenium.webdriver.support import expected_conditions as EC +from bs4 import BeautifulSoup + +def suche_auf_reichelt(suchbegriff, anzahl_ergebnisse=5): + # WebDriver initialisieren + driver = webdriver.Edge() + + + # Such-URL generieren + search_url = f'https://www.reichelt.de/index.html?ACTION=446&LA=446&nbc=1&SEARCH={suchbegriff}' + + # Webseite aufrufen und auf das vollständige Laden warten + driver.get(search_url) + WebDriverWait(driver, 60).until(EC.presence_of_element_located((By.ID, "searchbutton"))) + + # Suchbegriff eingeben und Suche starten + search_box = driver.find_element(By.ID, "quicksearch_new") + search_box.clear() # Falls vorheriger Text vorhanden ist + search_box.send_keys(suchbegriff) + + # Formular abschicken + search_button = driver.find_element(By.ID, "searchbutton") + search_button.click() + + # Auf das Laden der Suchergebnisse warten + + + # 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_='articlelink')] + + # Ausgabe der gefundenen Links + if gefundene_links: + print("Gefundene Links:") + for link in gefundene_links: + print(link) + else: + print("Keine Ergebnisse gefunden.") + + # Endlosschleife, um den Browser offen zu halten + input("Drücken Sie Enter, um den Browser zu schließen...") + + # WebDriver schließen + driver.quit() + + +if __name__ == "__main__": + + # Benutzereingabe + suchbegriff_reichelt = input("Welchen Artikel suchst du bei Reichelt? ") + + # Suche nach dem Artikel und erhalte gefundene Links + gefundene_links_reichelt = suche_auf_reichelt(suchbegriff_reichelt) diff --git a/schafferer.py b/schafferer.py new file mode 100644 index 0000000..5d48e3d --- /dev/null +++ b/schafferer.py @@ -0,0 +1,53 @@ +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 time + +def suche_auf_schafferer(suchbegriff, anzahl_ergebnisse=5): + # WebDriver initialisieren + driver = webdriver.Edge() + + # URL für die Suche generieren + search_url = 'https://www.schafferer.de/gastro/' + + # Webseite aufrufen und auf das vollständige Laden warten + driver.get(search_url) + WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "quicksearch-input"))) + + # Suchbegriff eingeben und Suche starten + search_box = driver.find_element(By.ID, "quicksearch-input") + search_box.clear() # Falls vorheriger Text vorhanden ist + search_box.send_keys(suchbegriff) + + # Enter-Taste drücken, um die Suche zu starten + search_box.send_keys(Keys.RETURN) + + # 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')][:anzahl_ergebnisse] + + # Ausgabe der gefundenen Links + if gefundene_links: + print("Gefundene Links:") + for link in gefundene_links: + print(link) + else: + print("Keine Ergebnisse gefunden.") + + # Hier können Sie den Browser offen lassen, damit Sie die Ergebnisse sehen können. + input("Drücken Sie Enter, um den Browser zu schließen...") + + # WebDriver schließen + driver.quit() + +if __name__ == "__main__": + # Benutzereingabe + suchbegriff_schafferer = input("Nach welchen Produkten suchen Sie auf Schafferer.de? ") + + # Suche nach dem Artikel und erhalte gefundene Links + suche_auf_schafferer(suchbegriff_schafferer) diff --git a/schildershop24.py b/schildershop24.py new file mode 100644 index 0000000..48305a3 --- /dev/null +++ b/schildershop24.py @@ -0,0 +1,54 @@ +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 time + +def suche_auf_schildershop24(suchbegriff, anzahl_ergebnisse=5): + # WebDriver initialisieren + driver = webdriver.Edge() + + # URL für die Suche generieren + search_url = 'https://www.schildershop24.de/' + + # Webseite aufrufen und auf das vollständige Laden warten + driver.get(search_url) + WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "search-query-stichwort_neu"))) + + # Suchbegriff eingeben und Suche starten + search_box = driver.find_element(By.ID, "search-query-stichwort_neu") + search_box.clear() # Falls vorheriger Text vorhanden ist + search_box.send_keys(suchbegriff) + + # Enter-Taste drücken, um die Suche zu starten + search_box.send_keys(Keys.RETURN) + + + # 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')][:anzahl_ergebnisse] + + # Ausgabe der gefundenen Links + if gefundene_links: + print("Gefundene Links:") + for link in gefundene_links: + print(link) + else: + print("Keine Ergebnisse gefunden.") + + # Hier können Sie den Browser offen lassen, damit Sie die Ergebnisse sehen können. + input("Drücken Sie Enter, um den Browser zu schließen...") + + # WebDriver schließen + driver.quit() + +if __name__ == "__main__": + # Benutzereingabe + suchbegriff_schildershop24 = input("Nach welchen Schildern suchen Sie auf Schildershop24? ") + + # Suche nach dem Artikel und erhalte gefundene Links + suche_auf_schildershop24(suchbegriff_schildershop24) diff --git a/tiroled.py b/tiroled.py new file mode 100644 index 0000000..446e68c --- /dev/null +++ b/tiroled.py @@ -0,0 +1,53 @@ +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 time + +def suche_auf_tiroled(suchbegriff, anzahl_ergebnisse=5): + # WebDriver initialisieren + driver = webdriver.Edge() + + # URL für die Suche generieren + search_url = 'https://www.tiroled.de/de/search' + + # Webseite aufrufen und auf das vollständige Laden warten + driver.get(search_url) + WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, "search"))) + + # Suchbegriff eingeben und Suche starten + search_box = driver.find_element(By.NAME, "search") + search_box.clear() # Falls vorheriger Text vorhanden ist + search_box.send_keys(suchbegriff) + search_box.send_keys(Keys.RETURN) + + + + # 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')][:anzahl_ergebnisse] + + # Ausgabe der gefundenen Links + if gefundene_links: + print("Gefundene Links:") + for link in gefundene_links: + print(link) + else: + print("Keine Ergebnisse gefunden.") + + # Hier können Sie den Browser offen lassen, damit Sie die Ergebnisse sehen können. + input("Drücken Sie Enter, um den Browser zu schließen...") + + # WebDriver schließen + driver.quit() + +if __name__ == "__main__": + # Benutzereingabe + suchbegriff_tiroled = input("Welchen Artikel suchst du bei Tiroled? ") + + # Suche nach dem Artikel und erhalte gefundene Links + suche_auf_tiroled(suchbegriff_tiroled) diff --git a/voelkner.py b/voelkner.py new file mode 100644 index 0000000..7849d31 --- /dev/null +++ b/voelkner.py @@ -0,0 +1,59 @@ +from selenium import webdriver +from selenium.webdriver.common.keys import Keys +from selenium.webdriver.common.by import By +from selenium.webdriver.support.ui import WebDriverWait +from selenium.webdriver.support import expected_conditions as EC +from bs4 import BeautifulSoup + +def suche_auf_voelkner(suchbegriff, anzahl_ergebnisse=5): + # WebDriver initialisieren + driver = webdriver.Edge() + + # Such-URL generieren + search_url = f'https://www.voelkner.de/search/search.html?keywords={suchbegriff}' + + # Webseite aufrufen und auf das vollständige Laden warten + driver.get(search_url) + WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "js_keywords"))) + + # Suchbegriff eingeben + search_box = driver.find_element(By.ID, "js_keywords") + search_box.clear() # Falls vorheriger Text vorhanden ist + search_box.send_keys(suchbegriff) + + # Enter-Taste drücken (optional) + # search_box.send_keys(Keys.RETURN) + + # Suchbutton klicken + search_button = driver.find_element(By.CLASS_NAME, "js_submit_search") + search_button.click() + + # 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: + print(link) + else: + print("Keine Ergebnisse gefunden.") + + # Endlosschleife, um den Browser offen zu halten + input("Drücken Sie Enter, um den Browser zu schließen...") + + # WebDriver schließen + driver.quit() + +if __name__ == "__main__": + # Benutzereingabe + suchbegriff_voelkner = input("Welchen Artikel suchst du bei Völkner? ") + + # Suche nach dem Artikel und erhalte gefundene Links + suche_auf_voelkner(suchbegriff_voelkner)