Я написал скрипт на php
для получения некоторых элементов с веб-страницы.Однако когда я выполняю свой сценарий, он ничего не получает.
Я не могу понять, где я иду не так.Любая помощь, чтобы исправить это, будет высоко оценена.
Ссылка на адрес сайта
Содержание, которое я ищу, находится в атрибутах title
в следующих html-блоках:
<ul class="list-nav panel panel-nav">
<li class="list-nav-title">Jump to</li>
<li><a title="Red/Blue/Yellow" href="#evo-g1">Generation 1</a></li>
<li><a title="Gold/Silver/Crystal" href="#evo-g2">Generation 2</a></li>
<li><a title="Ruby/Sapphire/FireRed/LeafGreen/Emerald" href="#evo-g3">Generation 3</a></li>
<li><a title="Diamond/Pearl/Platinum/HeartGold/SoulSilver" href="#evo-g4">Generation 4</a></li>
<li><a title="Black/White/Black 2/White 2" href="#evo-g5">Generation 5</a></li>
<li><a title="X/Y/Omega Ruby/Alpha Sapphire" href="#evo-g6">Generation 6</a></li>
<li><a title="Sun/Moon/Ultra Sun/Ultra Moon" href="#evo-g7">Generation 7</a></li>
</ul>
Это то, что я пробовал до сих пор:
<?php
$url = 'http://pokemondb.net/evolution';
function curlGet($link){
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, 'User-Agent: Mozilla/5.0');
curl_setopt($ch, CURLOPT_URL, $link);
$html = curl_exec($ch);
curl_close($ch);
return $html;
}
$html_response = curlGet($url);
$html_doc = new DOMDocument();
@$html_doc->loadHTML($html_response);
$content_xpath = new DOMXPath($html_doc);
$item_row = $content_xpath->query('//ul[contains(@class,"panel-nav")]//li/a/@title');
foreach($item_row as $file){
$item_name = $file->nodeValue . "<br/>";
echo $item_name;
}
?>
Мой ожидаемый результат похож (они находятся в атрибутах title
):
Red/Blue/Yellow
и т. Д. ----