Daten mit PHP von Website auslesen

Daten mit PHP von Website auslesen

Benötigt man Daten oder Informationen von anderen Webseiten, kann man diese mit Hilfe von simplehtmldom Schritt für Schritt auslesen. Eine Ausführliche Dokumentation dazu findest du auf simplehtmldom.sourceforge.net. Als erstes muss du die simple_html_dom.php in dein Script einbinden und Objekt vom Typ simple_html_dom() erstellen.

Als Beispiel habe ich mir die Website immonet.de ausgesucht. Hier will ich jetzt von verschiedenen Anbietern die Anzahl der Objekte auslesen, die eingestellt wurden. Zum testen nehmen ich einfach mal den Anbieter Vonovia SE. Hier untersuchen wir den Quellcode etwas genauer. Wir sehen das sich der Integer für die Anzahl in einem h1-tag mit der Klasse marginB24 befindet. Mit der Funktion find() von htmldom können wir nach genau diesem Tag suchen und durchlaufen dafür eine foreach-Schleife. Da sich zwischen dem h1-Tag ein kompletter String: 'Vonovia SE: 3901 Angebote gefunden' befindet, wir haber nur den Integer(3901) haben wollen, programmieren wir uns dafür noch eine Funktion um die Anzahl rauszufiltern. 

 

Folgendes Beispiel zeigt das komplette Script zum auslesen der Anzahl.

include('lib/simple_html_dom.php'); 

function get_string_between($string, $start, $end)
{
    $string = ' ' . $string;
    $ini = strpos($string, $start);
    if ($ini == 0) return '';
    $ini += strlen($start);
    $len = strpos($string, $end, $ini) - $ini;
    return substr($string, $ini, $len);
}

$url = 'https://www.immonet.de/immobilienmakler/164077.html';
$html = new simple_html_dom(); 
$html->load_file($url);

foreach ($html->find('h1[class=marginB24]') as $post) {
    $immonet_count = get_string_between($post, ': ', ' Angebote gefunden') ;
}

In der Variable $immonet_count wird die gewünschte Anzahlt gespeichert. An die Funktion get_string_between() übergebe ich den gefunden String und lasse mir den String zwischen ':'  und ' Angebote gefunden' zurückgeben. Diser String ist die Anzahl die ich suche.

Website optimieren & tunen - Anpassungen in der htaccess
Google-Bewertungen mittels PHP auslesen