From a42484a34939bae1e396f19db3c958f6336fc4c6 Mon Sep 17 00:00:00 2001 From: hubobel Date: Thu, 24 Jul 2025 16:09:46 +0200 Subject: [PATCH] =?UTF-8?q?lotto2py.py=20gel=C3=B6scht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lotto2py.py | 221 ---------------------------------------------------- 1 file changed, 221 deletions(-) delete mode 100644 lotto2py.py diff --git a/lotto2py.py b/lotto2py.py deleted file mode 100644 index 9354d40..0000000 --- a/lotto2py.py +++ /dev/null @@ -1,221 +0,0 @@ -import requests -from bs4 import BeautifulSoup -import re -from datetime import datetime -import pymysql - -telegram_chat_id = "322673713" -telegram_token ='680737840:AAEaa7Vxl_kZz_LWS1_S-lH6Eda7HXqu6Y4' - -def notify_telegram(text): - params = {"parse_mode": "HTML", "chat_id": telegram_chat_id, "text": text} - url = f"https://api.telegram.org/bot{telegram_token}/sendMessage" - requests.post(url, params=params) -def Euro(): - url = 'https://www.ard-text.de/mobil/583' - response = requests.get(url) - response.raise_for_status() - soup = BeautifulSoup(response.text, "html.parser") - ziffern = [] - ZahlenEuro = { - 'Freitag': {'Datum': '', 'Z1': '', 'Z2': '', 'Z3': '', 'Z4': '', 'Z5': '', 'Eurozahl1': '', 'Eurozahl2': ''}, - 'Dienstag': {'Datum': '', 'Z1': '', 'Z2': '', 'Z3': '', 'Z4': '', 'Z5': '', 'Eurozahl1': '', 'Eurozahl2': ''}} - Tag = 'Freitag' - for b in soup.find("p", string=lambda s: s and "freitag" in s.lower()): - ZahlenEuro[Tag]['Datum'] = b - tabelle = b.find_parent().find_next_sibling("table") - a = 1 - for n in tabelle.find_all("td"): - c = (n.get_text(strip=True)) - b = 'Z' + str(a) - ZahlenEuro[Tag][b] = int(c) - a = a + 1 - for x in soup.find("p", string=lambda s: s and "eurozahlen" in s.lower()): - eurotabelle = x.find_parent().find_next_sibling("table") - aa = 1 - for m in eurotabelle.find_all("td"): - c = (m.get_text(strip=True)) - bb = 'Eurozahl' + str(aa) - ZahlenEuro[Tag][bb] = int(c) - aa = aa + 1 - Tag = 'Dienstag' - for b in soup.find("p", string=lambda s: s and "dienstag" in s.lower()): - ZahlenEuro[Tag]['Datum'] = b - tabelle = b.find_parent().find_next_sibling("table") - a = 1 - print(b) - for n in tabelle.find_all("td"): - c = (n.get_text(strip=True)) - b = 'Z' + str(a) - ZahlenEuro[Tag][b] = int(c) - a = a + 1 - eurozahlen_tags = soup.find_all("b", string=lambda s: s and "eurozahlen" in s.lower()) - - aa = 1 - if len(eurozahlen_tags) >= 2: - eurozahlen_table_2 = eurozahlen_tags[1].find_next("table") - eurozahlen_2 = [td.text.strip() for td in eurozahlen_table_2.find_all("td")] - for i in eurozahlen_2: - bb = 'Eurozahl' + str(aa) - ZahlenEuro[Tag][bb] = int(i) - aa = aa + 1 - return ZahlenEuro -def Normalziehung(a): - wochentag = datetime.today().weekday() - jahr = datetime.now().year - - url = "https://www.ard-text.de/mobil/" + str(a) - - headers = { - "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36" - } - - response = requests.get(url, headers=headers) - response.raise_for_status() - - soup = BeautifulSoup(response.text, "html.parser") - - # Den relevanten Abschnitt als Text extrahieren - text = soup.get_text(separator="\n") - - # Lottozahlen: 6 aus 49, Zusatzzahl und Superzahl - lottozahlen = [] - superzahl = None - spiel77 = [] - super6 = [] - datum_woche = None - Lottozahlen = {'Datum': '', 'Z1': '', 'Z2': '', 'Z3': '', 'Z4': '', 'Z5': '', 'Z6': '', 'Superzahl': '', - 'Spiel77': '', 'Super6': ''} - - # Wochentext extrahieren (z. B. "28. Woche / 09.07.25") - for line in text.splitlines(): - if "Woche" in line and "/" in line: - datum_woche = line.strip() - break - # Regex: Hauptzahlen finden (z. B. Zeile enthält "11 20 28 30 35 41") - match_haupt = re.search(r"\s(\d{1,2}(?:\s+\d{1,2}){5})\s", text) - if match_haupt: - lottozahlen = [int(n) for n in match_haupt.group(1).split()] - - # Superzahl (z. B. nach dem Begriff "Superzahl") - match_super = re.search(r"Superzahl[^0-9]*([0-9]{1,2})", text) - if match_super: - superzahl = int(match_super.group(1)) - - # Spiel 77 suchen (genau 7 Ziffern) - match_spiel77 = re.search(r"Spiel\s*77[^0-9]*((?:\d\s*){7})", text) - if match_spiel77: - # spiel77 = match_spiel77.group(1) - spiel77 = [int(n) for n in match_spiel77.group(1).split()] - # Super 6 suchen (genau 6 Ziffern) - match_super6 = re.search(r"Super\s*6[^0-9]*((?:\d\s*){6})", text) - if match_super6: - # super61 = match_super6.group(1) - super6 = [int(n) for n in match_super6.group(1).split()] - - # Ausgabe - - - lottozahlen.sort() - ab = 'Z' - cd = 1 - subber6 = '' - game77 = '' - for i in super6: - subber6 = subber6 + str(i) - for i in spiel77: - game77 = game77 + str(i) - - for i in lottozahlen: - - ef = str((ab + str(cd))) - Lottozahlen[ef] = i - cd = cd + 1 - Lottozahlen['Datum'] = str(jahr) + ' / ' + str(datum_woche) - Lottozahlen['Superzahl'] = superzahl - Lottozahlen['Spiel77'] = int(game77) - Lottozahlen['Super6'] = int(subber6) - - - - return Lottozahlen -def SQLnorm(data): - connection = pymysql.connect(db="hubobel", - user="hubobel", - passwd="polier2003", - host='10.0.1.123', charset='utf8') - cursor = connection.cursor() - - sql = "INSERT INTO `6aus49`(`datum`, `z1`, `z2`, `z3`, `z4`, `z5`, `z6`, `sz`, `super6`, `spiel77`) VALUES" \ - " ('" + str(data['Datum']) + "','" + str(data['Z1']) + "','" + str(data['Z2']) + "','" + str(data['Z3']) + \ - "','" + str(data['Z4']) + "','" + str(data['Z5']) + "','" + str(data['Z6']) + "','" + str(data['Superzahl']) + \ - "','" + str(data['Super6']) + "','" + str(data['Spiel77']) + "')" - sql_q = "SELECT * FROM 6aus49 WHERE datum like '%" + data['Datum'] + "%'" - resp = cursor.execute(sql_q) - if resp == 0: - cursor.execute(sql) - - connection.commit() - cursor.close() - connection.close() -def SQLdienstag(data): - connection = pymysql.connect(db="hubobel", - user="hubobel", - passwd="polier2003", - host='10.0.1.123', charset='utf8') - cursor = connection.cursor() - - - sql = "INSERT INTO `euro`(`datum`, `z1`, `z2`, `z3`, `z4`, `z5`, `sz1`, `sz2`) VALUES" \ - " ('" + str(data['Datum']) + "','" + str(data['Z1']) + "','" + str(data['Z2']) + "','" + str(data['Z3']) + \ - "','" + str(data['Z4']) + "','" + str(data['Z5']) + "','" + str(data['Eurozahl1']) + "','" + str( - data['Eurozahl2']) + "')" - sql_q = "SELECT * FROM euro WHERE datum like '%" + data['Datum'] + "%'" - resp = cursor.execute(sql_q) - if resp == 0: - cursor.execute(sql) - print(resp) - connection.commit() - cursor.close() - connection.close() -def SQLfreitag(data): - connection = pymysql.connect(db="hubobel", - user="hubobel", - passwd="polier2003", - host='10.0.1.123', charset='utf8') - cursor = connection.cursor() - - sql = "INSERT INTO `euro`(`datum`, `z1`, `z2`, `z3`, `z4`, `z5`, `sz1`, `sz2`) VALUES" \ - " ('" + str(data['Datum']) + "','" + str(data['Z1']) + "','" + str(data['Z2']) + "','" + str(data['Z3']) + \ - "','" + str(data['Z4']) + "','" + str(data['Z5']) + "','" + str(data['Eurozahl1']) + "','" + str( - data['Eurozahl2']) + "')" - sql_q = "SELECT * FROM euro WHERE datum like '%" + data['Datum'] + "%'" - resp = cursor.execute(sql_q) - if resp == 0: - cursor.execute(sql) - print(resp) - connection.commit() - cursor.close() - connection.close() - -wochentag = datetime.today().weekday() -wochentag = 1 - -if wochentag == 2: - Zahl = Normalziehung(582) - SQLnorm(Zahl) - notify_telegram(str(Zahl)) -elif wochentag == 5: - Zahl = Normalziehung(581) - SQLnorm(Zahl) - notify_telegram(str(Zahl)) -elif wochentag == 1: - Zahl = Euro() - SQLdienstag(Zahl['Dienstag']) - notify_telegram(str(Zahl['Dienstag'])) -elif wochentag == 4: - Zahl = Euro() - SQLfreitag(Zahl['Freitag']) - notify_telegram(str(Zahl['Freitag'])) -else: - quit()