无法从网页获取某些属性

时间:2018-09-21 06:25:49

标签: php curl web-scraping

我已经在php中编写了一个脚本来从网页中获取一些项目。但是,当我执行脚本时,它不会获取任何内容。

我不知道我要去哪里。任何解决此问题的帮助将不胜感激。

Link to the site address

我要查找的内容在以下html块的title属性中:

<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

以此类推----

0 个答案:

没有答案