繁体   English   中英

PHP DOM解析器仅适用于某些页面

[英]PHP DOM Parser only working for some pages

我正在使用: 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>';

它显示了一堆缩略图,但是它们几乎是空白的(并且不会返回所有缩略图)。

是因为他们对人有某种htaccess限制吗? 对于多个网站,会发生这种情况。

您假设$ element-> src始终是相对于$ website的,因此它可能不容易...

例如:$ element-> src可能已经是http://www.digg.com/image.jpg,因此可以执行$ website。 $ element-> 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>';
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM