我正在使用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();
}
在某些页面上存在.buyFooter类,而在其他类上存在.listFooter。
有没有办法检查它是否存在?
我试过了isset&amp; !空但没有运气
答案 0 :(得分:21)
是的,可以使用count()
方法,如下所示:
if( $resource->getCrawler()->filterXpath('//title')->count() )
{
echo $resource->getCrawler()->filterXpath('//title')->text() . ', ';
}