Apache的Nutch的2.1 - 如何获得完整的源代码(Apache Nutch 2.1 -

2019-09-29 02:37发布

我试图写我自己的Nutch插件抓取网页。 问题是,我需要确定是否有一些特殊的标记,例如在网页上。 有官方文档,这是可能的一些注意事项使用Document.getElementsByTagName(“富”),但它不是为我工作。 你有什么主意吗?

我的第二个问题是,如果我上面的标识标签,我想从中得到一些网页的其它标签,其中标签被认定......有没有什么办法来存储它在某一时刻抓取网页的完整的源代码?

由于1月

Answer 1:

如果要提取基于HTML标签的内容,你可以看看XPath的过滤器插件: http://www.atlantbh.com/precise-data-extraction-with-apache-nutch/你可以写一个XPath查询在插件配置它提取所需的信息。

另一种选择是编写一个插件(如你在此刻),并使用HTML / XML解析器得到信息。 下面是当我需要提取一些内容进行特定的div我做了什么:

  @Override
  public NutchDocument filter(NutchDocument doc, Parse parse, Text url, CrawlDatum datum, Inlinks inlinks) throws IndexingException {

        //LOG.info("filter init: ");
        Metadata metadata = parse.getData().getParseMeta();
        String fullContent = metadata.get("fullcontent");

        Document document = Jsoup.parse(fullContent); 
        Element contentwrapper = document.select("div#content").first();

        //LOG.info("fullcontent");
        //LOG.info(contentwrapper);


        // Add field
        doc.add("contentwrapper", contentwrapper.text());

        return doc;
  }


文章来源: Apache Nutch 2.1 - How get complete source code