我在Symfony 3.2中需要DOM Crawler的帮助。 这是我的代码:
$html = file_get_contents('http://www.wakacje.pl/wczasy/peru/');
$crawler = new Crawler($html);
$crawler = $crawler->filter('#gridWithPagination > div > div')->each(function (Crawler $node) {
return $node->filter('div.desc > a');
});
foreach ($crawler as $item) {
var_dump($item->attr('href'));
}
正如您所看到的,我想从列表中的所有实例中获取URI参数,但此代码仅返回第一个实例,并且还返回错误:
当前节点列表为空
我错过了什么? 在此先感谢您的帮助。
答案 0 :(得分:1)
不确定为什么需要过滤两次,但更简单的CSS选择器似乎对我有用:
use Symfony\Component\DomCrawler\Crawler;
$html = file_get_contents('http://www.wakacje.pl/wczasy/peru/');
$crawler = new Crawler($html);
$nodes = $crawler->filter('div#gridWithPagination div.desc a');
$nodes->each(function ($item) {
echo $item->attr('href').'<br>';
});