PHP DOMDocument 错误处理

问题描述 投票:0回答:1

我在尝试为 DOM 编写

if
语句来检查
$html
是否为空时遇到问题。然而,每当 HTML 页面最终变成空白时,它只会删除 DOM 下面的所有内容(包括我必须检查它是否为空白的内容)。

$html = file_get_contents("http://example.com/");
$dom = new DOMDocument;
@$dom->loadHTML($html);
$links = $dom->getElementById('dividhere')->getElementsByTagName('img');
foreach ($links as $link)
{
    echo $link->getAttribute('src');
}

这一切都是在指定的 div 中抓取一个图像 URL,它可以完美地工作,直到页面是一个空白的 HTML 页面。

我尝试过使用 SimpleHTMLDOM,它也不起作用(它甚至没有在工作页面上获取图像)。我是否碰巧错过了这个,或者我只是错过了两个?

include_once('simple_html_dom.php')
$html = file_get_html("http://example.com/");
foreach($html->find('div[id="dividhere"]') as $div)
{
    if(empty($div->src))
    {
        continue;
    }
    echo $div->src;
}
php web-scraping dom error-handling domdocument
1个回答
1
投票

摆脱 $html 变量,只需通过执行

@$dom->loadHTMLFile("http://example.com/");
将文件加载到 $dom 中,然后在下面添加一个 if 语句来检查 $dom 是否为空。

© www.soinside.com 2019 - 2024. All rights reserved.