Symfony DOM抓取工具:查询与当前项目匹配的标签

时间:2018-07-21 01:39:54

标签: symfony dom web-crawler

我正在使用Symfony DOM搜寻器来抓取某些网站,而我遇到的问题之一是,如果我具有包含多个标签的抓取目标,例如:

$content['html'] = $crawler->filter('
        #content > div.container > div.row > div > p:nth-child(n+4),
        #content > div.container > div.row > div > h3,
        #content > div.container > div.row > div > blockquote')->each(function($node) {
        $data = strip_tags($node->html(), '<div>, <h1>, <h2>, <h3>, <h4>, <h5>, <h6>, <p>, <a>, <strong>, <em>, <img>');
        return $data;
    });

我的结果中没有[p],[h3]或[blockquote]标记(正确)。但是,根据我刚刚抓取的标签,我想进一步处理结果,而不仅仅是返回结果。

是否可以查询搜寻器以返回与当前项目匹配的标签?基本上,我想知道我匹配的当前项目/标签是[p],[h3]还是[blockquote],这将使我能够进一步处理结果。

1 个答案:

答案 0 :(得分:0)

想通了...有一种方法

$node->nodeName();

返回与查询匹配的标签...