我正在使用:http://simplehtmldom.sourceforge.net/并注意到在示例中,并尝试抓取某些网站,只有部分网站会返回结果。
我正在使用:
include_once('../../simple_html_dom.php');
// Create DOM from URL or file
$website = 'http://www.digg.com/';
$html = file_get_html($website);
// Find all images
foreach($html->find('img') as $element)
echo "<img src=\"" . $website . $element->src . "\"" . '<br>';
其中显示了一堆缩略图,但它们几乎是空白的(并且它没有返回所有缩略图)。
是不是因为他们对人有某种限制?这种情况发生在多个网站上。
答案 0 :(得分:1)
你假设$ element-&gt; src总是相对于$ website而言它很容易就不会......
例如:$ element-&gt; src可能已经是http://www.digg.com/image.jpg所以然后做$ website。 $ element-&gt; src将是http://www.digg.com/http://www.digg.com/image.jpg,这将无效......
尝试
include_once('../../simple_html_dom.php');
// Create DOM from URL or file
$website = 'http://www.digg.com/';
$html = file_get_html($website);
// Find all images
foreach($html->find('img') as $element) {
//dont want double slashes
$src = ltrim($element->src, '/');
//dont want double urls
$src = str_replace($website, "", $src);
echo "<img src=\"" . $website . $src . "\"" . '<br>';
}