我正在尝试编写一个脚本来抓取此网站中第一张图片的网址: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")
,我仍然一无所获。我做错了什么?
答案 0 :(得分:0)
我做错了什么?
您正在使用print_r
,但DOMNodeList
不为该函数提供任何输出(因为它是内部类)。例如,您可以从输出项目数开始。最后,您需要遍历节点列表并自行处理每个节点。
printf("Found %d element(s).\n", $elements->length);
答案 1 :(得分:0)
$doc->loadHTMLFile($content);
接收文件路径而不是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));
由于
:)