Code: Alles auswählen
<?php
// Ziel-URL
$url = 'http://www.gmcmap.com/historyData.asp?Param_ID=DEIN SENSOR ID';
// Daten von der Webseite abrufen
$data = file_get_contents($url);
// Neue DOMDocument-Instanz erstellen
$dom = new DOMDocument();
// Fehlerunterdrückung für ungültiges HTML aktivieren
libxml_use_internal_errors(true);
// HTML-Daten in das DOM laden
$dom->loadHTML($data);
// Fehlermeldungen ignorieren
libxml_clear_errors();
// DOMXPath-Objekt für die Navigation durch den DOM erstellen
$xpath = new DOMXPath($dom);
// Tabelle mit der Klasse 'table-hover' auswählen
$table = $xpath->query('//table[contains(@class, "table-hover")]')->item(0);
// Datenzeilen der Tabelle auswählen
$rows = $xpath->query('.//tbody/tr', $table);
// Array für die gespeicherten Daten initialisieren
$geigerData = [];
// Durch jede Datenzeile iterieren
foreach ($rows as $row) {
// Werte der Spalten auslesen
$columns = $row->getElementsByTagName('td');
$date = $columns->item(0)->nodeValue;
$cpm = $columns->item(1)->nodeValue;
$acpm = $columns->item(2)->nodeValue;
$usv = $columns->item(3)->nodeValue;
// Daten in ein assoziatives Array speichern
$geigerData[] = [
'date' => $date,
'cpm' => $cpm,
'acpm' => $acpm,
'usv' => $usv
];
}
// Die gewünschten Werte in Variablen speichern
$dateString = $geigerData[0]['date'];
$cpm = $geigerData[0]['cpm'];
$acpm = $geigerData[0]['acpm'];
$usv = $geigerData[0]['usv'];
// Datum konvertieren
$dateTime = new DateTime($dateString, new DateTimeZone('GMT'));
$dateTime->setTimezone(new DateTimeZone('Europe/Berlin'));
// Datum in europäisches Format umwandeln
$formattedDate = $dateTime->format('d.m.Y H:i:s');
// Das gewünschte Dateiformat erstellen
$fileContent = json_encode([
'$formattedDate' => $formattedDate,
'$CPM' => $cpm,
'$ACPM' => $acpm,
'$uSvh' => $usv,],
JSON_PRETTY_PRINT);
$fileContent = sprintf(
'<?php' . PHP_EOL .
'$formattedDate = "%s";' . PHP_EOL .
'$CPM = "%s";' . PHP_EOL .
'$ACPM = "%s";' . PHP_EOL .
'$uSvh = "%s";' . PHP_EOL .
'?>',
$formattedDate,
$cpm,
$acpm,
$usv
);
// Datei schreiben
$file = 'PFAD ZUM SPEICHERORT';
file_put_contents($file, $fileContent);
?>