Ich möchte diese Website crawlen und die Tabelle http://www.basketligaen.dk/da/top/turnering/stilling/ bekommen, aber wenn ich versuche, den Inhalt zu erhalten, bekomme ich DOMNodeList Object ([length] => 0)
. Mein Code sieht wie folgt aus:Verwenden Sie Curl und Xpath, um die Website zu crawlen
$curl = curl_init('http://www.basketligaen.dk/da/top/turnering/stilling/');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.224 Safari/534.10');
$html = curl_exec($curl);
curl_close($curl);
$doc = new DOMDocument();
$doc->loadHTML($html);
$xpath = new DOMXpath($doc);
$elements = $xpath->query("//div[@id='3739']/table");
print_r($elements);
ich viele Seiten vor gekrochen, aber ich kann das Problem mit diesem finden - gibt es jemanden, der sehen kann, was ich falsch mache?
Beim Ändern in: $ elements = $ xpath-> query ("// div [@ id = '3739'] // Tabelle"); und dann das Element drucken: print_r ($ elements); - Ich bekomme immer noch: DOMNodeList Object ([Länge] => 0). Sollte ich nicht eine Länge größer als 0 bekommen oder fehlt mir etwas? –
@AndreasBaran ah, erhalten Sie das leere Ergebnis, auch wenn Sie den anderen Ausdruck aus der Antwort verwenden? – alecxe
ja - wenn dies ausgeführt wird: $ elements = $ xpath-> query ("// div [. = 'Grundstaub']/following-gleichgeordnete :: tabelle"); print_r ($ elements); Ich bekomme immer noch ein leeres Ergebnis –