使用DOMDocument从网站上抓取所有图像

时间:2013-04-09 07:23:12

标签: php kohana-3.2

我基本上希望使用DOMDocument在任何网站中获取 ALL 图像。 但是由于某些我还不知道的原因,我甚至无法加载我的HTML。

$url="http://<any_url_here>/";
$dom = new DOMDocument();
@$dom->loadHTML($url); //i have also tried removing @
$dom->preserveWhiteSpace = false;
$dom->saveHTML();
$images = $dom->getElementsByTagName('img');
foreach ($images as $image) 
{
echo $image->getAttribute('src');
}

发生的事情是没有打印出来。或者我是否对代码做错了什么?

1 个答案:

答案 0 :(得分:13)

  

你没有得到结果,因为$ dom-&gt; loadHTML()需要html。你给它一个网址,你首先需要获得你要解析的页面的html。你可以使用file_get_contents()。

我在我的图像抓取课中使用了这个。对我来说很好。

$html = file_get_contents('http://www.google.com/');
$dom = new domDocument;
$dom->loadHTML($html);
$dom->preserveWhiteSpace = false;
$images = $dom->getElementsByTagName('img');
foreach ($images as $image) {
  echo $image->getAttribute('src');
}