dongzhang7157 2013-01-24 22:33
浏览 104
已采纳

PHP XPath查询什么都不返回

I've been recently playing with DOMXpath in PHP and had success with it, trying to get more experience with it I've been playing grabbing certain elements of different sites. I am having trouble getting the weather marker off of http://www.theweathernetwork.com/weather/cape0005 this website.

Specifically I want

//*[@id='theTemperature']

Here is what I have

$url = file_get_contents('http://www.theweathernetwork.com/weather/cape0005');

$dom   = new DOMDocument();
@$dom->loadHTML($url);
$xpath = new DOMXPath($dom);
$tags  = $xpath->query("//*[@id='theTemperature']");
foreach ($tags as $tag){
    echo $tag->nodeValue;
}

Is there something I am doing wrong here? I am able to produce actual results on other tags on the page but specifically not this one.

Thanks in advance.

  • 写回答

3条回答 默认 最新

  • duanhuhong5255 2013-01-24 23:10
    关注

    what happens is straightforward, the page contains an empty id="theTemperature" element which is a placeholder to be populated with javascript. file_get_contents() will just download the page, not executing javascript, so the element remains empty. Try to load the page in the browser with javascript disabled to see it yourself

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?