【问题标题】:Symfony DOM Crawler: querying tag which matched current itemSymfony DOM Crawler:查询匹配当前项目的标签
【发布时间】:2018-07-23 10:32:37
【问题描述】:

我正在使用 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],这反过来将使我能够进一步处理结果。

【问题讨论】:

    标签: symfony dom web-crawler


    【解决方案1】:

    想通了...有一个方法

    $node->nodeName();
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-25
      • 1970-01-01
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      • 2011-04-16
      相关资源
      最近更新 更多