使用xpath通过Google访问某些链接。以下工作正常,所有链接都显示出来。
$query = $xpath->evaluate("/html/body//a");
for ($x=0 ; $x < $query -> length; $x++)
{
$href=$query->item($x);
$url=$href->getAttribute('href');
echo $url."<br>";
}
但是当我尝试下面的xpath时,没有显示任何内容。我确定xpath是正确的,因为它的评估结果显示在xpather中。
/html/body[@id='gsr']/div[@id='cnt']/div[@id='res']/div[1]/ol/li/div//cite
for ($x=0 ; $x < $query -> length; $x++)
{
$href=$query->item($x);
$url=$href->getAttribute('cite');
echo $url."<br>";
}
有人可以告诉我,我做错了吗?任何帮助将不胜感激
答案 0 :(得分:0)
您的XPath表达式选择'cite'元素,然后您在这些元素节点上调用getAttribute('cite')。我不认为HTML'引用'元素应该具有相同名称的属性。也许不是在'cite'元素节点上调用getAttribute('cite')而是想要访问$ href-&gt; textContent。