0

我正在尝试编写一个脚本,从该网站获取第一张图片的 URL:http ://www.slothradio.com/covers/?adv=&artist=pantera&album=vulgar+display+of+power

这是我的脚本:

$content = file_get_contents($url);
$doc = new DOMDocument();
$doc->loadHTML($content);
$xpath = new DOMXpath($doc);

$elements = $xpath->query("*/div[@class='album0']/img");
echo '<pre>';print_r($elements);exit;

当我运行它时,它会输出

DOMNodeList Object
(
)

即使我将查询更改为$xpath->query("*/img"),我仍然一无所获。我究竟做错了什么?

4

2 回答 2

0

我究竟做错了什么?

您正在使用print_r,但 DOMNodeList没有为该函数提供任何输出(因为它是一个内部类)。例如,您可以从输出项目数开始。最后,您需要遍历节点列表并自行处理每个节点。

printf("Found %d element(s).\n", $elements->length);
于 2012-04-04T15:30:59.460 回答
0

$doc->loadHTMLFile($content);接受 FILE PATH 而不是 HTML 内容,请参阅文档

http://php.net/manual/en/domdocument.loadhtmlfile.php

采用

$doc = new DOMDocument();
$doc->loadHTMLFile($url);

输出元素使用

var_dump(iterator_to_array($elements)); 
//Or
print_r(iterator_to_array($elements));

谢谢

:)

于 2012-04-04T15:39:14.713 回答