Einkauf_Suche/boettcher.py
2023-11-23 08:33:44 +01:00

85 lines
2.7 KiB
Python

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_())