Datenbank + unnötige zeilen gelöscht

This commit is contained in:
Domenik Rath 2024-01-11 16:25:16 +01:00
parent b9f28f7f75
commit c2319aa63c
4 changed files with 25 additions and 192 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -34,7 +34,7 @@ for category in categories:
# Webseiten hinzufügen
webpages = [
["Reichelt", "Kosatec", "Conrad"],
["Hornbach", "Contorion","Gastroteile Shop", "TiroLED", "Megabad", "Baubeschlagshop", "IPS", "Häfele", "Delker", "Knauss"],
["Hornbach", "Esska","Contorion","Gastroteile Shop", "TiroLED", "Megabad", "Baubeschlagshop", "IPS", "Häfele", "Delker", "Knauss"],
["Brewes", "Schildershop24", "Skiltex", "VKF-Renzel"],
["Papstar", "Pacovis", "Transpak", "TVV-Verpackungen", "Eierschachteln.de", "DM-Folien"],
["Esmeyer", "Lusini", "Tischwelt", "Schafferer", "Gastronomie Kaufhaus", "Börner", "GGM-Gastro"],

View File

@ -38,6 +38,7 @@ class SearchThread(QThread):
"Conrad": self.suche_auf_conrad,
"Kosatec": self.suche_auf_kosatec,
"Hornbach": self.suche_auf_hornbach,
"Esska": self.suche_auf_esska,
"Contorion": self.suche_auf_contorion,
"Gastroteile Shop": self.suche_auf_gastroteileshop,
"TiroLED": self.suche_auf_tiroled,
@ -103,8 +104,6 @@ class SearchThread(QThread):
print(f"Fehler bei der Suche auf {webseite}: {e}")
def suche_auf_haefele(self):
# URL für die Suche generieren
search_url = 'https://www.haefele.de/'
@ -119,31 +118,20 @@ class SearchThread(QThread):
search_box.send_keys(Keys.RETURN)
def suche_auf_brewes(self):
# URL für die Suche generieren
search_url = f'https://www.brewes.de/catalogsearch/result?q={self.search_term}'
# Webseite aufrufen
self.driver.get(search_url)
def suche_auf_conrad(self):
# Such-URL generieren
search_url = f'https://www.conrad.de/search.html?search={self.search_term}'
# Webseite aufrufen
self.driver.get(search_url)
# 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
@ -154,15 +142,10 @@ class SearchThread(QThread):
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):
# 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")))
@ -176,33 +159,23 @@ class SearchThread(QThread):
search_button.click()
def suche_auf_kosatec(self):
# Such-URL generieren
search_url = f'https://shop.kosatec.de/search?search={self.search_term}'
# Webseite aufrufen
self.driver.get(search_url)
cookie_button = self.driver.find_element(By.ID, "CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll")
cookie_button.click()
def suche_auf_hornbach(self):
# URL für die Suche generieren
search_url = f'https://www.hornbach.de/s/{self.search_term}'
# Webseite aufrufen
self.driver.get(search_url)
def suche_auf_gastroteileshop(self):
# 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
def suche_auf_esska(self):
search_url = f'https://www.esska.de/shop/search/{self.search_term}'
self.driver.get(search_url)
def suche_auf_gastroteileshop(self):
search_url = f'https://www.gastroteileshop.de/?s={self.search_term}'
self.driver.get(search_url)
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, "search-input")))
cookie_button = self.driver.find_element(By.CLASS_NAME, "btn.btn-primary.btn-block.btn-appearance")
@ -215,86 +188,57 @@ class SearchThread(QThread):
search_box.send_keys(Keys.RETURN)
def suche_auf_tiroled(self):
# URL für die Suche generieren
search_url = f'https://www.tiroled.com/de/search?search={self.search_term}'
# Webseite aufrufen
self.driver.get(search_url)
cookie_button = self.driver.find_element(By.CLASS_NAME, "cookie-consent-accept-only-functional-button.btn.btn-primary.cookie-consent-button-margin")
cookie_button.click()
def suche_auf_megabad(self):
# URL für die Suche generieren
search_url = f'https://www.megabad.com/search/?query=sdyc/#/q/{self.search_term}'
# Webseite aufrufen und auf das vollständige Laden warten
self.driver.get(search_url)
cookie_button = self.driver.find_element(By.CSS_SELECTOR, ".cmpboxbtn.cmpboxbtnyes.cmptxt_btn_yes")
cookie_button.click()
def suche_auf_baubeschlag(self):
# URL für die Suche generieren
search_url = f'https://www.baubeschlagshop.de/fts.php?criteria={self.search_term}'
# Webseite aufrufen
self.driver.get(search_url)
def suche_auf_ips_shop(self):
# URL für die Suche generieren
search_url = f'https://www.ips-kts.com/de/suche?query={self.search_term}'
# Webseite aufrufen
self.driver.get(search_url)
cookie_button = self.driver.find_element(By.CLASS_NAME, "btn.btn-primary.btn-red.user-type--business")
cookie_button.click()
def suche_auf_delker(self):
# URL für die Suche generieren
search_url = f'https://www.delker2business.com/nwsearch/execute?query={self.search_term}'
# Webseite aufrufen
self.driver.get(search_url)
def suche_auf_knauss(self):
# URL für die Suche generieren
search_url = f'https://knauss.info/dksearch?sSearch={self.search_term}'
# Webseite aufrufen
self.driver.get(search_url)
cookie_button = self.driver.find_element(By.CLASS_NAME, "cookie-permission--decline-button.btn.is--large.is--center")
cookie_button.click()
def suche_auf_schildershop24(self):
# URL für die Suche generieren
search_url = f'https://www.schildershop24.de/?action=Query&-query.&query.stichwort=r{self.search_term}'
# Webseite aufrufen
self.driver.get(search_url)
cookie_button = self.driver.find_element(By.CLASS_NAME, "btn.btn-primary.button.set-disabled")
cookie_button.click()
def suche_auf_esmeyer(self):
# URL für die Suche generieren
search_url = f'https://www.esmeyer-shop.de/search?search={self.search_term}'
# Webseite aufrufen
self.driver.get(search_url)
cookie_button = self.driver.find_element(By.CLASS_NAME, "cookie-permission-button.js-cookie-permission-button")
cookie_button.click()
def suche_auf_papstar(self):
# 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")))
@ -302,30 +246,18 @@ class SearchThread(QThread):
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_pacovis(self):
# URL für die Suche generieren
search_url = f'https://www.pacovis.com/de-de/suche/1/search={self.search_term}'
# Webseite aufrufen
self.driver.get(search_url)
def suche_auf_lusini(self):
# URL für die Suche generieren
search_url = f'https://www.lusini.com/de-de/search/#q={self.search_term}'
# Webseite aufrufen
self.driver.get(search_url)
def suche_auf_hygi(self):
# 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")))
@ -336,31 +268,18 @@ class SearchThread(QThread):
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_tischwelt(self):
# URL für die Suche generieren
search_url = f'https://www.tischwelt.de/shop/Suche/?q={self.search_term}&search=Suchen'
# Webseite aufrufen und auf das vollständige Laden warten
self.driver.get(search_url)
def suche_auf_schafferer(self):
# URL für die Suche generieren
search_url = f'https://www.schafferer.de/gastro/Artikel-Suche/?q={self.search_term}'
# Webseite aufrufen und auf das vollständige Laden warten
self.driver.get(search_url)
def suche_auf_gastronomie_kaufhaus(self):
# 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")))
@ -368,27 +287,17 @@ class SearchThread(QThread):
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_arbeitsplatzmattenprofi(self):
# URL für die Suche generieren
search_url = f'https://arbeitsplatzmatten-profi.com/?s={self.search_term}'
# Webseite aufrufen und auf das vollständige Laden warten
self.driver.get(search_url)
cookie_button = self.driver.find_element(By.ID, "CookieBoxSaveButton")
cookie_button.click()
def suche_auf_skiltex(self):
search_url = 'https://www.skiltex.de/shop/frontpage.html' # Ersetzen Sie dies durch die tatsächliche URL für Skiltex
# Webseite aufrufen und auf das vollständige Laden warten
search_url = 'https://www.skiltex.de/shop/frontpage.html'
self.driver.get(search_url)
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, "SearchField_SearchPage")))
@ -398,8 +307,6 @@ class SearchThread(QThread):
# Auf die Suchleiste klicken
search_box = self.driver.find_element(By.CLASS_NAME, "SearchField_SearchPage")
search_box.click()
# Suchbegriff eingeben und Suche starten
search_box.clear()
search_box.send_keys(self.search_term)
search_box.send_keys(Keys.RETURN)
@ -409,71 +316,45 @@ class SearchThread(QThread):
kunde.click()
def suche_auf_franzmensch(self):
# URL für die Suche generieren
search_url = f'https://www.franz-mensch.de/search?search={self.search_term}'
# Webseite aufrufen und auf das vollständige Laden warten
self.driver.get(search_url)
def suche_auf_frankflechtwaren(self):
# URL für die Suche generieren
search_url = f'https://www.frank-flechtwaren.de/suchergebnisse/?query={self.search_term}'
# Webseite aufrufen und auf das vollständige Laden warten
self.driver.get(search_url)
def suche_auf_ara_arbeitsschutz(self):
# URL für die Suche generieren
search_url = f'https://ara-arbeitsschutz.de/navi.php?qs={self.search_term}'
# Webseite aufrufen und auf das vollständige Laden warten
self.driver.get(search_url)
cookie_button = self.driver.find_element(By.CLASS_NAME, "cmpboxbtn.cmpboxbtnno.cmptxt_btn_no")
cookie_button.click()
def suche_auf_vkf_renzel(self):
# URL für die Suche generieren
search_url = f'https://www.vkf-renzel.de/index.php?lang=0&cl=rasearch&searchparam={self.search_term}'
# Webseite aufrufen und auf das vollständige Laden warten
self.driver.get(search_url)
def suche_auf_boerner(self):
# URL für die Suche generieren
search_url = f'https://www.boerner.de/?s={self.search_term}'
# Webseite aufrufen und auf das vollständige Laden warten
self.driver.get(search_url)
cookie_button = self.driver.find_element(By.ID, "CookieBoxSaveButton")
cookie_button.click()
def suche_auf_ggmgastro(self):
# URL für die Suche generieren
search_url = f'https://www.ggmgastro.com/de-de-eur/search?q={self.search_term}'
# Webseite aufrufen und auf das vollständige Laden warten
self.driver.get(search_url)
cookie_button = self.driver.find_element(By.CLASS_NAME, "cf1y60")
cookie_button.click()
def suche_auf_boettcher(self):
# URL für die Suche generieren
search_url = f'https://www.bueromarkt-ag.de/Artikelsuche_{self.search_term}.html' # 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")))
def suche_auf_bueroshop24(self):
# 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")))
@ -481,34 +362,25 @@ class SearchThread(QThread):
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)
def suche_buchhandlung_am_markt(self):
# URL für die Suche generieren
search_url = f'https://bam-mr.buchkatalog.de/search?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, "mobile-search")))
def suche_auf_labelident(self):
# URL für die Suche generieren
search_url = f'https://www.labelident.com/catalogsearch/result/?q={self.search_term}'
# Webseite aufrufen und auf das vollständige Laden warten
self.driver.get(search_url)
cookie_button = self.driver.find_element(By.CLASS_NAME, "cmpboxbtn.cmpboxbtnno.cmptxt_btn_no")
cookie_button.click()
kunde = self.driver.find_element(By.CLASS_NAME, "btn.btn-blue-outline.redir-mask")
kunde.click()
def suche_auf_transpak(self):
# URL für die Suche generieren
search_url = f'https://www.shop.transpak.de/search?sSearch={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.CLASS_NAME, "form-control")))
try:
@ -522,66 +394,45 @@ class SearchThread(QThread):
print(f"Fehler beim Akzeptieren von Cookies: {e}")
def suche_auf_pml(self):
# URL für die Suche generieren
search_url = f'https://www.pml-papiere.de/#query={self.search_term}'
# Webseite aufrufen und auf das vollständige Laden warten
self.driver.get(search_url)
def suche_auf_dmfolien(self):
# URL für die Suche generieren
search_url = f'https://www.dm-folien.com/shop/search?sSearch={self.search_term}'
# Webseite aufrufen und auf das vollständige Laden warten
self.driver.get(search_url)
def suche_auf_proficleanshop(self):
# URL für die Suche generieren
search_url = f'https://www.proficleanshop.de/searchresults/?q={self.search_term}'
# Webseite aufrufen und auf das vollständige Laden warten
self.driver.get(search_url)
kunde = self.driver.find_element(By.CLASS_NAME, "buttonTaxConfirm.fsize14.white")
kunde.click()
cookie_button = self.driver.find_element(By.CLASS_NAME, "cf1lHZ.cf2MAH")
cookie_button.click()
def suche_auf_siepmann(self):
# URL für die Suche generieren
search_url = f'https://www.siepmann.net/siepmann_shop.php?suchfeld={self.search_term}'
# Webseite aufrufen und auf das vollständige Laden warten
self.driver.get(search_url)
def suche_auf_fksoehnchen(self):
# URL für die Suche generieren
search_url = f'https://www.fk-soehnchen.de/index.php?lang=0&cl=search&searchparam={self.search_term}'
# Webseite aufrufen und auf das vollständige Laden warten
self.driver.get(search_url)
def suche_auf_wahl_agrar(self):
# URL für die Suche generieren
search_url = 'https://www.agrar-fachversand.com/de/' # Ersetzen Sie dies durch die tatsächliche URL für Wahl Agrar
# Webseite aufrufen und auf das vollständige Laden warten
search_url = 'https://www.agrar-fachversand.com/de/'
self.driver.get(search_url)
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, "main-search--field")))
# Auf die Suchleiste klicken
search_box = self.driver.find_element(By.CLASS_NAME, "main-search--field")
search_box.click()
# Suchbegriff eingeben und Suche starten
search_box.clear()
search_box.send_keys(self.search_term)
search_box.send_keys(Keys.RETURN)
def suche_auf_tvv(self):
# URL für die Suche generieren
search_url = f'https://www.tvv-verpackungen.de/index.php?jtl_token=86147d041429ad7dafb0c5f1a80e61e089eb4f04ec192b004ba5e69e8aaa45c5&sp_additional_mail=&qs={self.search_term}' # Ersetzen Sie dies durch die tatsächliche URL für DVV
# Webseite aufrufen und auf das vollständige Laden warten
search_url = f'https://www.tvv-verpackungen.de/index.php?jtl_token=86147d041429ad7dafb0c5f1a80e61e089eb4f04ec192b004ba5e69e8aaa45c5&sp_additional_mail=&qs={self.search_term}'
self.driver.get(search_url)
WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "search-header-mobile-top")))
@ -589,61 +440,43 @@ class SearchThread(QThread):
cookie_button.click()
def suche_auf_eierschachteln(self):
# URL für die Suche generieren
search_url = f'https://www.eierschachteln.de/search?sSearch={self.search_term}'
# Webseite aufrufen und auf das vollständige Laden warten
self.driver.get(search_url)
cookie_button = self.driver.find_element(By.ID, "cookie-permission--accept-only-functional-button")
cookie_button.click()
def suche_auf_kox(self):
# URL für die Suche generieren
search_url = f'https://www.kox-direct.de/?query={self.search_term}&sid=6d0b4366af8bb99af514529b7e61ad&act=search'
# Webseite aufrufen und auf das vollständige Laden warten
self.driver.get(search_url)
cookie_button = self.driver.find_element(By.CLASS_NAME, "od-btn-white.bg-gray-lightest.w-full.mb-4.set_essential_cookies")
cookie_button.click()
def suche_auf_reinigungsberater(self):
# URL für die Suche generieren
search_url = f'https://www.reinigungsberater.de/{self.search_term}.html'
# Webseite aufrufen und auf das vollständige Laden warten
self.driver.get(search_url)
cookie_button = self.driver.find_element(By.CLASS_NAME, "acceptMe")
cookie_button.click()
def suche_auf_vbshobby(self):
# URL für die Suche generieren
search_url = f'https://www.vbs-hobby.com/suche/?q={self.search_term}'
# Webseite aufrufen und auf das vollständige Laden warten
self.driver.get(search_url)
def suche_auf_oekonomed(self):
# URL für die Suche generieren
search_url = f'https://shop.oekonomed.de/de/advanced_search_result.php?keywords={self.search_term}&inc_subcat=1'
# Webseite aufrufen und auf das vollständige Laden warten
self.driver.get(search_url)
cookie_button = self.driver.find_element(By.CLASS_NAME, "as-oil-l-item")
cookie_button.click()
def suche_auf_rossmann(self):
# URL für die Suche generieren
search_url = f'https://www.rossmann.de/de/search/?text={self.search_term}'
# Webseite aufrufen und auf das vollständige Laden warten
self.driver.get(search_url)
def suche_auf_betzold(self):
# URL für die Suche generieren
search_url = f'https://www.betzold.de/search/?q={self.search_term}'
# Webseite aufrufen und auf das vollständige Laden warten
self.driver.get(search_url)
@ -721,13 +554,13 @@ class WebseitenSucheApp(QWidget):
elif category == "Landwirtschaft/Garten":
row_position = 25
elif category == "Verpackungen":
row_position = 11
row_position = 12
elif category == "Reinigungs Artikel":
row_position = 18
row_position = 19
elif category == "Arbeitsschutz":
row_position = 23
row_position = 24
elif category == "Deko":
row_position = 26
row_position = 27
else:
row_position = idx * (num_rows_for_category + 1) # 1 zusätzliche Zeile für die Kategorie
col_position = idx % num_columns
@ -789,7 +622,7 @@ class WebseitenSucheApp(QWidget):
checkbox.setStyleSheet("color: green;")
if category == "Baumarkt":
green_webpages = ["Hornbach","Contorion","Gastroteile Shop","Megabad","Baubeschlagshop","TiroLED"]
green_webpages = ["Hornbach","Contorion","Gastroteile Shop","Megabad","Baubeschlagshop","TiroLED","Esska"]
if any(green_webpage in webpage for green_webpage in green_webpages):
checkbox.setStyleSheet("color: green;")

Binary file not shown.