#!/usr/bin/env python3 import requests from bs4 import BeautifulSoup import sqlite3 # URL der HTML-Seite, die Sie abrufen möchten url = "http://localhost:5010" # HTTP-Anfrage senden und den HTML-Inhalt abrufen response = requests.get(url) html = response.text # HTML-Dokument in BeautifulSoup-Objekt umwandeln soup = BeautifulSoup(html, 'html.parser') # Die Daten in der Tabelle extrahieren table = soup.find('table') rows = table.find_all('tr') # Initialisieren der Tanknummern mit 1 und 2 tank1_nummer = 1 tank2_nummer = 2 # SQLite-Datenbankverbindung herstellen db_path = '/home/divers/datenbank/temperaturen.db' conn = sqlite3.connect(db_path) cursor = conn.cursor() # Funktion zum Einfügen von Tanknummern und Temperaturwerten in die Datenbank def insert_temperature(table_name, tanknummer, temperatur): cursor.execute(f"INSERT INTO {table_name} (messstelle, temperatur) VALUES (?, ?)", (tanknummer, temperatur)) conn.commit() # Daten in die Datenbank eintragen (Tabelle "istwert") for row in rows[1:-1]: columns = row.find_all('td') if len(columns) >= 3: tank_name = columns[0].text istwert_text = columns[1].text.strip() # Temperaturwert ohne Leerzeichen am Anfang/Ende if istwert_text: # Nur wenn die Zeichenfolge nicht leer ist istwert = float(istwert_text.split('°')[0]) # Extrahieren des Istwertes und Konvertieren in Float tank_nummer = int(tank_name.split()[-1]) # Extrahieren der Tanknummer aus dem Namen insert_temperature("istwert", tank_nummer, istwert) # Daten in die Datenbank eintragen (Tabelle "sollwert") for row in rows[1:-1]: columns = row.find_all('td') if len(columns) >= 3: tank_name = columns[0].text sollwert_text = columns[2].text.strip() # Temperaturwert ohne Leerzeichen am Anfang/Ende if sollwert_text: # Nur wenn die Zeichenfolge nicht leer ist sollwert = float(sollwert_text.split('°')[0]) # Extrahieren des Sollwertes und Konvertieren in Float tank_nummer = int(tank_name.split()[-1]) # Extrahieren der Tanknummer aus dem Namen insert_temperature("sollwert", tank_nummer, sollwert) # Die Datenbankverbindung schließen conn.close()