1

试图在 div id=firehoselist 中获取 h2 中的所有内容(以获取文章的标题),但以下代码仅返回第一个结果。请有任何想法

    $crawler = new Crawler($content);

    $crawler->filterXPath('//div[@id="firehoselist"]//*')->each(function (Crawler $node) use (&$results) {

        $results[] = trim($node->filter('h2')->text());

 });

我要抓取的内容太杂乱,无法在此处发布,但它来自 slashdot org 网站

4

1 回答 1

1

//div[@id="firehoselist"]正在寻找 ID 为的每个元素,firehoselist并且只会获得该条目的第一个结果$node->filter('h2')->text()

您需要的是获取每个 #firehoselist h2已解析的 html:

$crawler->filterXPath('//div[@id="firehoselist"]//h2')->each(function (Crawler $node) use (&$results) {

        $results[] = trim($node->text());

 });
于 2017-11-29T11:29:25.893 回答