我正在使用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],这将使我能够进一步处理结果。
答案 0 :(得分:0)
想通了...有一种方法
$node->nodeName();
返回与查询匹配的标签...