コンテンツが CC である advisor.travel Web サイトから場所の名前と座標を取得したいので、名前と座標が記載された最初の 10 ページだけが必要です...
アトラクションへのリンクはリンク形式です:http://en.advisor.travel/poi/1
アトラクションの番号は'http://en.advisor.travel/poi/'.i
どこですかi
最初の 10 のアトラクションのみを取得したいので、1 と 10 の間であり、名前の xpath は
//h1 tag
座標の xpath は次のとおりです。
//span[@class='latitude']
//span[@class='longitude']
私は今スクレーパーを作成し、コードは次のとおりです。
<?php
for ($i=0; $i<=10; $i++)
{
$dom2 = new DOMDocument();
@$dom2->loadHTMLFile('http://en.advisor.travel' . $i);
$xpath2 = new DOMXPath($dom2);
$data = array();
$data[name] = $xpath2->query("//h1");
$data[latitude] = $xpath2->query("//span[@class='latitude']");
$data[longitude] = $xpath2->query("//span[@class='longitude']");
}
echo '<pre>' . print_r($data, true) . '</pre>';
?>
しかし、結果のこのコードは私にこれだけを与えます:
Array
(
[name] => DOMNodeList Object
(
[length] => 0
)
[latitude] => DOMNodeList Object
(
[length] => 0
)
[longitude] => DOMNodeList Object
(
[length] => 0
)
)
どうすれば修正できますか?ここで何が問題ですか?