InvalidArgumentException:当前节点列表为空.PHP-Spider(DOMCrawler Symfony)

Dim*_*los 9 php web-crawler symfony

我正在使用PHP-Spider来抓取网站,但是当它找不到.class时会抛出错误:InvalidArgumentException:当前节点列表为空.

代码是这样的:

foreach ($spider->getPersistenceHandler() as $resource) {
    echo $resource->getCrawler()->filterXpath('//title')->text().", ";
    echo $resource->getCrawler()->filterXpath("//meta[@name='description']/@content")->text()."<br>";
    echo $resource->getCrawler()->filterXpath("//div[@class='buyFooter']")->text();
    echo $resource->getCrawler()->filterXpath("//div[@class='listFooter']")->text();
}
Run Code Online (Sandbox Code Playgroud)

在某些页面上,类.buyFooter存在,而在其他类上存在.listFooter.

有没有办法检查它是否存在?

我试过isset&!空但没有运气

Ban*_*ago 21

是的,count()方法可用于此,如下所示:

if( $resource->getCrawler()->filterXpath('//title')->count() )
{
    echo $resource->getCrawler()->filterXpath('//title')->text() . ', ';
}
Run Code Online (Sandbox Code Playgroud)