Impressum Startseite Grund Installation Grundlagen Hilfreiches Projekte Querschläger Meckerecke

Grundlagen: Webseiten Filtern und weiter verarbeiten

Es ist klar, das Anbieter von Wetter und News Seiten KEIN Interesse daran haben kostenlos ihre Informationen weg zu geben. Meist kann man div. Newsletter hier und da bestellen und später festzustellen das man auf einer dubiosen Mailingliste gelandet ist und das die bestellten Newsletter/Wettermeldungen unmengen an Werbung enthalten...

Das muss nicht sein. Irgendwann hatte selbst ich die Schnauze voll.

Leider darf ich hier keine Konkrete Anleitung zu einem beliebigen Anbieter posten, aber um es kurz zu machen: es funktioniert einwandfrei, und das seit Jahren.

z.b. habe ich mit einem Raspberry Pi eine Wetter Seite angezapft. Dieser Pi lädt täglich zu einer bestimmten Uhrzeit (durch einen Crontab) die Webseite mit den Wetter Informationen in eine Variable (ist ja nur HTML).

Innerhalb dieses html lasse ich mittels php nach "einstiegswörtern" suchen, und nach "endwörtern" die JEDEN Tag gleich sind (es können auch html befehle in einer bestimmten reihenfolge sein). So filtert hier eine PHP Datei aus einer Webseite z.b. nur die reinen Wetter informationen für die nächsten 3 Tage raus, ohne Werbung und ohne Schnickschnack. Dafür lässt sich so gut wie jede Wetterseite "misbrauchen".

Zum Schluss lasse ich mir diese Infos täglich per Mail zustellen. Damit ihr eure eigenen Scripte schreiben könnt hier einige Code hilfen, die das einlesen un optimieren etwas erleichern.

Einlesen einer Webseite in eine Variable:

$url = "http://www.TolleWetter-Seite.de";
$inhalt=shell_exec("curl -L -A BrowserV1.0 ".$url);

Sollte das Einlesen der Webseite nicht mit "Curl" gelingen, kann man auch anders eine Webseite in eine Variable einlesen:

$url = "http://www.TolleWetter-Seite.de";
$inhalt = implode('', file($url));

Sollte die Url auf dem eigenen Server liegen kann man auch die PHP funktion get contents verwenden:

$url = "http://www.TolleWetter-Seite.de";
$inhalt=file_get_contents($url);

Nur Zahlen aus einer Variablen rausfiltern:

$zahl=preg_replace("/[^0-9]/","",$Variable)+0;

Suchwörter in Webseiten lasse hier mit diesen Codeschnippsel finden und die stellen ausschneiden:

$suchwort='VORKOMMEN1'; $suchlaenge=strlen($suchwort);
$start=strpos($inhalt,$suchwort,$ende)+$suchlaenge; if ($start==true) {
$ende=strpos($inhalt,'VORKOMMEN2'
,$start);
$needle=substr($inhalt,$start,($ende-$start));} else { $needle="NICHT GEFUNDEN";}

Das Script sucht nach dem Wort "VORKOMMEN1" speichert diese Position und sucht ab dort nach "VORKOMMEN2", der Inhalt zwischen den beiden "VORKOMMEN" wird in der Variable "$needle" gespeichert. Ab hier kann weiter verfeinert und "geliehen" werden.

So ähnlich verfahre ich auch mit diversen Nachrichtenseiten:

Ich entferne alles was nicht wichtig ist und filtere nur die "Überschriften" ,"Urls" und "Anriss der Artikel" raus, baue daraus eine neue "Virtuelle HTML" Datei in einer Variablen zusammen, lasse die Artikel mittels der "Urls" einladen und speichere die mit dazu. Das ganze lasse ich mir täglich durch den Raspberry per email als "kostenlose und werbefreie" Zeitung zuschicken 8-).

Das ganze kostet nur knapp einen Tag Entwicklungszeit und bietet fortan kostenlose Unterhaltung. Durch solche Aktionen kann man sich auch div. Download Links aus div. Seiten rausfiltern lassen und umgeht geschickt Fakes und Popups...

Impressum Startseite Grund Installation Grundlagen Hilfreiches Projekte Querschläger Meckerecke