私はこのサイトをクロールしてテーブルを立てたいです。http://www.basketligaen.dk/da/top/turnering/stilling/ですが、コンテンツを取得しようとするとDOMNodeList Object ([length] => 0)
となります。 私のコードは次のようになります。curlとxpathを使用してウェブサイトをクロールする
$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);
私は前のページの多くをクロールしましたが、私はこの1つの問題点を見つける傾ける - 私が間違っているのかを見ることができる人はありますか?
$ element = $ xpath-> query( "// div [@ id = '3739'] // table");その要素を印刷します:print_r($ elements); - 私はまだ取得:DOMNodeListオブジェクト([長さ] => 0)。私は長さを0より大きくするべきではないか、それとも私が何かを欠いている私ですか? –
@AndreasBaranああ、答えの中の他の式を使用しても空の結果が得られますか? – alecxe
はい - これを実行すると、$ elements = $ xpath-> query( "// div [。= 'Grundspil']/following-sibling :: table"); print_r($ elements);私はまだ空の結果を得る –