optimierungen
This commit is contained in:
parent
7eb7559213
commit
a401041df3
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
84
boettcher.py
84
boettcher.py
@ -1,84 +0,0 @@
|
||||
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_())
|
53
brewes.py
53
brewes.py
@ -1,53 +0,0 @@
|
||||
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)
|
53
bueroshop.py
53
bueroshop.py
@ -1,53 +0,0 @@
|
||||
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)
|
55
conrad.py
55
conrad.py
@ -1,55 +0,0 @@
|
||||
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)
|
55
contorion.py
55
contorion.py
@ -1,55 +0,0 @@
|
||||
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)
|
55
delker.py
55
delker.py
@ -1,55 +0,0 @@
|
||||
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)
|
597
einkauf_suche.py
Normal file
597
einkauf_suche.py
Normal file
@ -0,0 +1,597 @@
|
||||
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel, QLineEdit, QPushButton, QCheckBox, QMessageBox
|
||||
from concurrent.futures import ThreadPoolExecutor
|
||||
from PyQt5.QtCore import Qt, QThread, pyqtSignal
|
||||
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 SearchThread(QThread):
|
||||
search_finished = pyqtSignal()
|
||||
|
||||
def __init__(self, selected_webpages, search_term, parent=None):
|
||||
super(SearchThread, self).__init__(parent)
|
||||
self.selected_webpages = selected_webpages
|
||||
self.search_term = search_term
|
||||
self.error_message = None
|
||||
|
||||
def run(self):
|
||||
try:
|
||||
|
||||
|
||||
with ThreadPoolExecutor() as executor:
|
||||
futures = []
|
||||
|
||||
|
||||
|
||||
for webseite in self.selected_webpages:
|
||||
# Fügen hier andere Suchfunktionen hinzu
|
||||
# WebDriver initialisieren
|
||||
self.driver = webdriver.Edge()
|
||||
|
||||
if webseite == "Reichelt":
|
||||
futures.append(executor.submit(self.suche_auf_reichelt))
|
||||
elif webseite == "Conrad":
|
||||
futures.append(executor.submit(self.suche_auf_conrad))
|
||||
elif webseite == "Kosatec":
|
||||
futures.append(executor.submit(self.suche_auf_kosatec))
|
||||
elif webseite == "Hornbach":
|
||||
futures.append(executor.submit(self.suche_auf_hornbach))
|
||||
elif webseite =="Contorion":
|
||||
futures.append(executor.submit(self.suche_auf_contorion))
|
||||
elif webseite == "Gastro Teile Shop":
|
||||
futures.append(executor.submit(self.suche_auf_gastroteileshop))
|
||||
elif webseite == "TiroLED":
|
||||
futures.append(executor.submit(self.suche_auf_tiroled))
|
||||
elif webseite == "Megabad":
|
||||
futures.append(executor.submit(self.suche_auf_megabad))
|
||||
elif webseite == "IPS":
|
||||
futures.append(executor.submit(self.suche_auf_ips_shop, ))
|
||||
elif webseite == "Brewes":
|
||||
futures.append(executor.submit(self.suche_auf_brewes))
|
||||
elif webseite == "Delker":
|
||||
futures.appen(executor.submit(self.suche_auf_delker))
|
||||
elif webseite == "Knauss":
|
||||
futures.append(executor.submit(self.suche_auf_knauss))
|
||||
elif webseite == "Schildershop24":
|
||||
futures.append(executor.submit(self.suche_auf_schildershop24))
|
||||
elif webseite == "Häfele":
|
||||
futures.append(executor.submit(self.suche_auf_haefele))
|
||||
elif webseite == "Esmeyer":
|
||||
futures.append(executor.submit(self.suche_auf_esmeyer))
|
||||
elif webseite == "Papstar":
|
||||
futures.append(executor.submit(self.suche_auf_papstar))
|
||||
elif webseite == "Lusini":
|
||||
futures.append(executor.submit(self.suche_auf_lusini))
|
||||
elif webseite == "Hygi":
|
||||
futures.append(executor.submit(self.suche_auf_hygi))
|
||||
elif webseite == "Schafferer":
|
||||
futures.append(executor.submit(self.suche_auf_schafferer))
|
||||
elif webseite == "Gastronomie Kaufhaus":
|
||||
futures.append(executor.submit(self.suche_auf_gastronomie_kaufhaus))
|
||||
elif webseite == "Böttcher":
|
||||
futures.append(executor.submit(self.suche_auf_boettcher))
|
||||
elif webseite == "Büroshop24":
|
||||
futures.append(executor.submit(self.suche_auf_bueroshop24))
|
||||
|
||||
for future in futures:
|
||||
future.result() # Warte auf das Ende der Suche
|
||||
|
||||
self.search_finished.emit()
|
||||
except Exception as e:
|
||||
self.error_message = f"Fehler bei der Suche: {e}"
|
||||
|
||||
|
||||
|
||||
|
||||
def suche_auf_haefele(self):
|
||||
# URL für die Suche generieren
|
||||
search_url = 'https://www.haefele.de/'
|
||||
|
||||
# Webseite aufrufen und auf das vollständige Laden warten
|
||||
self.driver.get(search_url)
|
||||
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "inputSearchTerm")))
|
||||
|
||||
# Suchbegriff eingeben und Suche starten
|
||||
search_box = self.driver.find_element(By.ID, "inputSearchTerm")
|
||||
search_box.clear()
|
||||
search_box.send_keys(self.search_term)
|
||||
search_box.send_keys(Keys.RETURN)
|
||||
|
||||
def suche_auf_brewes(self):
|
||||
|
||||
# URL für die Suche generieren
|
||||
search_url = 'https://www.brewes.de/catalogsearch/result?q='
|
||||
|
||||
# Webseite aufrufen und auf das vollständige Laden warten
|
||||
self.driver.get(search_url)
|
||||
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "search")))
|
||||
|
||||
# Suchbegriff eingeben und Suche starten
|
||||
search_box = self.driver.find_element(By.ID, "search")
|
||||
search_box.clear() # Falls vorheriger Text vorhanden ist
|
||||
search_box.send_keys(self.search_term)
|
||||
search_box.send_keys(Keys.RETURN)
|
||||
|
||||
def suche_auf_conrad(self):
|
||||
# WebDriver initialisieren
|
||||
|
||||
|
||||
# Such-URL generieren
|
||||
search_url = f'https://www.conrad.de/search.html?search={self.search_term}'
|
||||
|
||||
# Webseite aufrufen und auf das vollständige Laden warten
|
||||
self.driver.get(search_url)
|
||||
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "header-search")))
|
||||
|
||||
# Suchbegriff eingeben
|
||||
search_box = self.driver.find_element(By.ID, "header-search")
|
||||
search_box.clear() # Falls vorheriger Text vorhanden ist
|
||||
search_box.send_keys(self.search_term)
|
||||
|
||||
# Enter-Taste drücken
|
||||
search_box.send_keys(Keys.RETURN)
|
||||
|
||||
def suche_auf_contorion(self):
|
||||
# Such-URL generieren
|
||||
search_url = f'https://www.contorion.de/suche?q={self.search_term}'
|
||||
|
||||
# Webseite aufrufen und auf das vollständige Laden warten
|
||||
self.driver.get(search_url)
|
||||
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "search-input")))
|
||||
|
||||
# Suchbegriff eingeben
|
||||
search_box = self.driver.find_element(By.ID, "search-input")
|
||||
search_box.clear() # Falls vorheriger Text vorhanden ist
|
||||
search_box.send_keys(self.search_term)
|
||||
|
||||
# Enter-Taste drücken
|
||||
search_box.send_keys(Keys.RETURN)
|
||||
|
||||
def suche_auf_reichelt(self):
|
||||
# WebDriver initialisieren
|
||||
self.driver = webdriver.Edge()
|
||||
|
||||
|
||||
# Such-URL generieren
|
||||
search_url = f'https://www.reichelt.de/index.html?ACTION=446&LA=446&nbc=1&SEARCH={self.search_term}'
|
||||
|
||||
# Webseite aufrufen und auf das vollständige Laden warten
|
||||
self.driver.get(search_url)
|
||||
WebDriverWait(self.driver, 60).until(EC.presence_of_element_located((By.ID, "searchbutton")))
|
||||
|
||||
# Suchbegriff eingeben und Suche starten
|
||||
search_box = self.driver.find_element(By.ID, "quicksearch_new")
|
||||
search_box.clear() # Falls vorheriger Text vorhanden ist
|
||||
search_box.send_keys(self.search_term)
|
||||
|
||||
# Formular abschicken
|
||||
search_button = self.driver.find_element(By.ID, "searchbutton")
|
||||
search_button.click()
|
||||
|
||||
def suche_auf_kosatec(self):
|
||||
# WebDriver initialisieren
|
||||
self.driver = webdriver.Edge()
|
||||
|
||||
# Such-URL generieren
|
||||
search_url = f'https://www.kosatec.de/suche?query={self.search_term}'
|
||||
|
||||
# Webseite aufrufen und auf das vollständige Laden warten
|
||||
self.driver.get(search_url)
|
||||
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, "input[name='search']")))
|
||||
|
||||
# Suchbegriff eingeben
|
||||
search_box = self.driver.find_element(By.CSS_SELECTOR, "input[name='search']")
|
||||
search_box.clear() # Falls vorheriger Text vorhanden ist
|
||||
search_box.send_keys(self.search_term)
|
||||
|
||||
# Enter-Taste drücken
|
||||
search_box.send_keys(Keys.RETURN)
|
||||
|
||||
def suche_auf_hornbach(self):
|
||||
# WebDriver initialisieren
|
||||
self.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
|
||||
self.driver.get(search_url)
|
||||
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.NAME, "global_search")))
|
||||
|
||||
# Suchbegriff eingeben und Suche starten
|
||||
search_box = self.driver.find_element(By.NAME, "global_search")
|
||||
search_box.clear() # Falls vorheriger Text vorhanden ist
|
||||
search_box.send_keys(self.search_term)
|
||||
search_box.send_keys(Keys.RETURN)
|
||||
|
||||
def suche_auf_gastroteileshop(self):
|
||||
# WebDriver initialisieren
|
||||
self.driver = webdriver.Edge()
|
||||
|
||||
# URL für die Suche generieren
|
||||
search_url = f'https://www.gastroteileshop.de/?s={self.search_term}'
|
||||
|
||||
# Webseite aufrufen und auf das vollständige Laden warten
|
||||
self.driver.get(search_url)
|
||||
|
||||
# Warten, bis das Suchfeld sichtbar ist
|
||||
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, "search-input")))
|
||||
|
||||
# Suchbegriff eingeben und Suche starten
|
||||
search_box = self.driver.find_element(By.CLASS_NAME, "search-input")
|
||||
search_box.clear() # Falls vorheriger Text vorhanden ist
|
||||
search_box.send_keys(self.search_term)
|
||||
search_box.send_keys(Keys.RETURN)
|
||||
|
||||
def suche_auf_tiroled(self):
|
||||
# WebDriver initialisieren
|
||||
self.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
|
||||
self.driver.get(search_url)
|
||||
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.NAME, "search")))
|
||||
|
||||
# Suchbegriff eingeben und Suche starten
|
||||
search_box = self.driver.find_element(By.NAME, "search")
|
||||
search_box.clear() # Falls vorheriger Text vorhanden ist
|
||||
search_box.send_keys(self.search_term)
|
||||
search_box.send_keys(Keys.RETURN)
|
||||
|
||||
def suche_auf_megabad(self):
|
||||
# WebDriver initialisieren
|
||||
self.driver = webdriver.Edge()
|
||||
|
||||
# URL für die Suche generieren
|
||||
search_url = 'https://www.megabad.com/'
|
||||
|
||||
# Webseite aufrufen und auf das vollständige Laden warten
|
||||
self.driver.get(search_url)
|
||||
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "search-bar-input")))
|
||||
|
||||
# Suchbegriff eingeben und Suche starten
|
||||
search_box = self.driver.find_element(By.ID, "search-bar-input")
|
||||
search_box.clear() # Falls vorheriger Text vorhanden ist
|
||||
search_box.send_keys(self.search_term)
|
||||
search_box.send_keys(Keys.RETURN)
|
||||
|
||||
def suche_auf_ips_shop(self):
|
||||
# WebDriver initialisieren
|
||||
self.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
|
||||
self.driver.get(search_url)
|
||||
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.NAME, "query")))
|
||||
|
||||
# Suchbegriff eingeben und Suche starten
|
||||
search_box = self.driver.find_element(By.NAME, "query")
|
||||
search_box.clear() # Falls vorheriger Text vorhanden ist
|
||||
search_box.send_keys(self.search_term)
|
||||
search_box.send_keys(Keys.RETURN)
|
||||
|
||||
def suche_auf_delker(self):
|
||||
# WebDriver initialisieren
|
||||
self.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
|
||||
self.driver.get(search_url)
|
||||
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.NAME, "query")))
|
||||
|
||||
# Suchbegriff eingeben und Suche starten
|
||||
search_box = self.driver.find_element(By.NAME, "query")
|
||||
search_box.clear() # Falls vorheriger Text vorhanden ist
|
||||
search_box.send_keys(self.search_term)
|
||||
|
||||
# Enter-Taste drücken, um die Suche zu starten
|
||||
search_box.send_keys(Keys.RETURN)
|
||||
|
||||
def suche_auf_knauss(self):
|
||||
# WebDriver initialisieren
|
||||
self.driver = webdriver.Edge()
|
||||
|
||||
# URL für die Suche generieren
|
||||
search_url = 'https://www.knauss.info/'
|
||||
|
||||
# Webseite aufrufen und auf das vollständige Laden warten
|
||||
self.driver.get(search_url)
|
||||
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.NAME, "sSearch")))
|
||||
|
||||
# Suchbegriff eingeben und Suche starten
|
||||
search_box = self.driver.find_element(By.NAME, "sSearch")
|
||||
search_box.clear() # Falls vorheriger Text vorhanden ist
|
||||
search_box.send_keys(self.search_term)
|
||||
|
||||
# Enter-Taste drücken, um die Suche zu starten
|
||||
search_box.send_keys(Keys.RETURN)
|
||||
|
||||
def suche_auf_schildershop24(self):
|
||||
# WebDriver initialisieren
|
||||
self.driver = webdriver.Edge()
|
||||
|
||||
# URL für die Suche generieren
|
||||
search_url = 'https://www.schildershop24.de/'
|
||||
|
||||
# Webseite aufrufen und auf das vollständige Laden warten
|
||||
self.driver.get(search_url)
|
||||
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "search-query-stichwort_neu")))
|
||||
|
||||
# Suchbegriff eingeben und Suche starten
|
||||
search_box = self.driver.find_element(By.ID, "search-query-stichwort_neu")
|
||||
search_box.clear() # Falls vorheriger Text vorhanden ist
|
||||
search_box.send_keys(self.search_term)
|
||||
|
||||
# Enter-Taste drücken, um die Suche zu starten
|
||||
search_box.send_keys(Keys.RETURN)
|
||||
|
||||
def suche_auf_esmeyer(self):
|
||||
# WebDriver initialisieren
|
||||
self.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
|
||||
self.driver.get(search_url)
|
||||
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.NAME, "search")))
|
||||
|
||||
# Suchbegriff eingeben und Suche starten
|
||||
search_box = self.driver.find_element(By.NAME, "search")
|
||||
search_box.clear() # Falls vorheriger Text vorhanden ist
|
||||
search_box.send_keys(self.search_term)
|
||||
|
||||
# Enter-Taste drücken, um die Suche zu starten
|
||||
search_box.send_keys(Keys.RETURN)
|
||||
|
||||
def suche_auf_papstar(self):
|
||||
# WebDriver initialisieren
|
||||
self.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
|
||||
self.driver.get(search_url)
|
||||
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "search")))
|
||||
|
||||
# Suchbegriff eingeben und Suche starten
|
||||
search_box = self.driver.find_element(By.ID, "search")
|
||||
search_box.clear() # Falls vorheriger Text vorhanden ist
|
||||
search_box.send_keys(self.search_term)
|
||||
|
||||
# Enter-Taste drücken, um die Suche zu starten
|
||||
search_box.send_keys(Keys.RETURN)
|
||||
|
||||
def suche_auf_lusini(self):
|
||||
# WebDriver initialisieren
|
||||
self.driver = webdriver.Edge()
|
||||
|
||||
# URL für die Suche generieren
|
||||
search_url = 'https://www.lusini.de/'
|
||||
|
||||
# Webseite aufrufen und auf das vollständige Laden warten
|
||||
self.driver.get(search_url)
|
||||
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "search-input")))
|
||||
|
||||
# Suchbegriff eingeben und Suche starten
|
||||
search_box = self.driver.find_element(By.ID, "search-input")
|
||||
search_box.clear() # Falls vorheriger Text vorhanden ist
|
||||
search_box.send_keys(self.search_term)
|
||||
|
||||
# Enter-Taste drücken, um die Suche zu starten
|
||||
search_box.send_keys(Keys.RETURN)
|
||||
|
||||
def suche_auf_hygi(self):
|
||||
# WebDriver initialisieren
|
||||
self.driver = webdriver.Edge()
|
||||
|
||||
# URL für die Suche generieren
|
||||
search_url = 'https://www.hygi.de/'
|
||||
|
||||
# Webseite aufrufen und auf das vollständige Laden warten
|
||||
self.driver.get(search_url)
|
||||
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "qbox")))
|
||||
|
||||
# Suchbegriff eingeben und Suche starten
|
||||
search_box = self.driver.find_element(By.ID, "qbox")
|
||||
search_box.clear() # Falls vorheriger Text vorhanden ist
|
||||
search_box.send_keys(self.search_term)
|
||||
|
||||
# Enter-Taste drücken, um die Suche zu starten
|
||||
search_box.send_keys(Keys.RETURN)
|
||||
|
||||
def suche_auf_schafferer(self):
|
||||
# WebDriver initialisieren
|
||||
self.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
|
||||
self.driver.get(search_url)
|
||||
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "quicksearch-input")))
|
||||
|
||||
# Suchbegriff eingeben und Suche starten
|
||||
search_box = self.driver.find_element(By.ID, "quicksearch-input")
|
||||
search_box.clear() # Falls vorheriger Text vorhanden ist
|
||||
search_box.send_keys(self.search_term)
|
||||
|
||||
# Enter-Taste drücken, um die Suche zu starten
|
||||
search_box.send_keys(Keys.RETURN)
|
||||
|
||||
def suche_auf_gastronomie_kaufhaus(self):
|
||||
# WebDriver initialisieren
|
||||
self.driver = webdriver.Edge()
|
||||
|
||||
# URL für die Suche generieren
|
||||
search_url = 'https://www.gastronomie-kaufhaus.de/'
|
||||
|
||||
# Webseite aufrufen und auf das vollständige Laden warten
|
||||
self.driver.get(search_url)
|
||||
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "searchParam")))
|
||||
|
||||
# Suchbegriff eingeben und Suche starten
|
||||
search_box = self.driver.find_element(By.ID, "searchParam")
|
||||
search_box.clear() # Falls vorheriger Text vorhanden ist
|
||||
search_box.send_keys(self.search_term)
|
||||
|
||||
# Enter-Taste drücken, um die Suche zu starten (falls notwendig)
|
||||
search_box.send_keys(Keys.RETURN)
|
||||
|
||||
def suche_auf_boettcher(self):
|
||||
# WebDriver initialisieren
|
||||
self.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
|
||||
self.driver.get(search_url)
|
||||
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "autocomplete-0-input")))
|
||||
|
||||
# Suchbegriff eingeben und Suche starten
|
||||
search_box = self.driver.find_element(By.ID, "autocomplete-0-input")
|
||||
search_box.clear() # Falls vorheriger Text vorhanden ist
|
||||
search_box.send_keys(self.search_term)
|
||||
|
||||
# Enter-Taste drücken, um die Suche zu starten (falls notwendig)
|
||||
search_box.send_keys(Keys.RETURN)
|
||||
|
||||
def suche_auf_bueroshop24(self):
|
||||
# WebDriver initialisieren
|
||||
self.driver = webdriver.Edge()
|
||||
|
||||
# URL für die Suche generieren
|
||||
search_url = 'https://www.bueroshop24.de/'
|
||||
|
||||
# Webseite aufrufen und auf das vollständige Laden warten
|
||||
self.driver.get(search_url)
|
||||
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "searchTerm")))
|
||||
|
||||
# Suchbegriff eingeben und Suche starten
|
||||
search_box = self.driver.find_element(By.ID, "searchTerm")
|
||||
search_box.clear() # Falls vorheriger Text vorhanden ist
|
||||
search_box.send_keys(self.search_term)
|
||||
|
||||
# Enter-Taste drücken, um die Suche zu starten (falls notwendig)
|
||||
search_box.send_keys(Keys.RETURN)
|
||||
|
||||
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.driver = None
|
||||
|
||||
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
|
||||
|
||||
# Starte den Such-Thread
|
||||
self.search_thread = SearchThread(selected_webpages, self.search_term)
|
||||
self.search_thread.search_finished.connect(self.search_finished)
|
||||
self.search_thread.start()
|
||||
|
||||
def search_finished(self):
|
||||
self.search_thread.quit()
|
||||
self.search_thread.wait()
|
||||
if hasattr(self.search_thread, 'error_message') and self.search_thread.error_message:
|
||||
QMessageBox.critical(None, "Fehler", self.search_thread.error_message)
|
||||
else:
|
||||
QMessageBox.information(None, "Suche abgeschlossen", "Die Suche wurde erfolgreich abgeschlossen.")
|
||||
|
||||
|
||||
|
||||
def new_search(self):
|
||||
self.close_driver()
|
||||
print("Neue Suche starten")
|
||||
|
||||
if __name__ == '__main__':
|
||||
app = QApplication(sys.argv)
|
||||
window = WebseitenSucheApp()
|
||||
sys.exit(app.exec_())
|
54
esmeyer.py
54
esmeyer.py
@ -1,54 +0,0 @@
|
||||
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)
|
@ -1,53 +0,0 @@
|
||||
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)
|
@ -1,59 +0,0 @@
|
||||
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)
|
55
haefele.py
55
haefele.py
@ -1,55 +0,0 @@
|
||||
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)
|
53
hornbach.py
53
hornbach.py
@ -1,53 +0,0 @@
|
||||
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)
|
53
hygi.py
53
hygi.py
@ -1,53 +0,0 @@
|
||||
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)
|
53
ips.py
53
ips.py
@ -1,53 +0,0 @@
|
||||
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)
|
55
knauss.py
55
knauss.py
@ -1,55 +0,0 @@
|
||||
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)
|
55
kosatec.py
55
kosatec.py
@ -1,55 +0,0 @@
|
||||
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)
|
54
lusini.py
54
lusini.py
@ -1,54 +0,0 @@
|
||||
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)
|
178
main.py
178
main.py
@ -1,178 +0,0 @@
|
||||
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_())
|
53
megabad.py
53
megabad.py
@ -1,53 +0,0 @@
|
||||
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)
|
54
papstar.py
54
papstar.py
@ -1,54 +0,0 @@
|
||||
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)
|
58
reichelt.py
58
reichelt.py
@ -1,58 +0,0 @@
|
||||
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)
|
@ -1,53 +0,0 @@
|
||||
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)
|
@ -1,54 +0,0 @@
|
||||
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)
|
53
tiroled.py
53
tiroled.py
@ -1,53 +0,0 @@
|
||||
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)
|
59
voelkner.py
59
voelkner.py
@ -1,59 +0,0 @@
|
||||
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)
|
Loading…
x
Reference in New Issue
Block a user