Hi,
ein Liefererant hat keine Excel-Listen seiner Produkte, aber wir dürfen seine Website crawlen.
Das klappt auch ganz gut mit Curl und anschliessendem DomXPath->query() .
An zwei Stellen komme ich nicht weiter.
Der 1. HTML-Node sieht so aus . Den Wert [10.00; RR=Ja; Bsp1] möchte ich als string oder array haben:
<div class="beispielName">
<span class="value">
<span>[10.00; RR=Ja; Bsp1]</span>
</span>
</div>
Der 2. HTML-Node sieht so aus. Den Wert was:Irgendwas möchte ich als string oder array haben:
<div class="beispielName">
<span class="value">
<span>was:Irgendwas</span>
</span>
</div>
Ich bekomme aber keinen Wert ausgelesen. Es ist auch der einzige Node der so heisst.
$dom = new DOMDocument();
libxml_use_internal_errors(true);
$dom->loadHTML(mb_convert_encoding($htmlstring, 'HTML-ENTITIES', 'UTF-8'));
$finder = new DomXPath($dom);
/*dieser Query gibt nichts zurück*/
$finder->query("//*[contains(@class, 'beispielName')]//*[contains(@class, 'value')]");
/*dieser Query gibt nichts zurück*/
$finder->query("//*[contains(@class, 'beispielName')]//*[contains(@class, 'value')]")->item(0)->nodeValue;
Liegt es an Doppelpunkt oder an den Eckigen Klammern? Bei allen Knoten wo das nicht vorkommt klappt alles wunderbar.
Danke und Gruss.