NBoilerPipe是BoilerPipe Java库的Mono端口。我已经设法在.NET 4中使用它而没有太多麻烦(一些库引用需要修复/等)。但是,搜索代码时,我找不到HTML输出的任何“钩子”。例如,GetText()方法只有一个输入参数,我看不到任何其他方法。如何从NBoilerPipe获取HTML输出?
以下是在.NET4中使用的示例NBoilerPipe代码:
String url = "http:// <etc> "; String page = String.Empty; WebRequest request = WebRequest.Create (url); HttpWebResponse response = (HttpWebResponse)request.GetResponse (); Stream stream = response.GetResponseStream (); using (StreamReader streamReader = new StreamReader (stream, Encoding.UTF8)) { page = streamReader.ReadToEnd (); } String text = ArticleExtractor.INSTANCE.GetText (page); Console.WriteLine ("Text: \n" + text);
答案 0 :(得分:0)
我有同样的问题。我设法通过使用以下方法来解决它。
答案 1 :(得分:0)
我知道这是一个老问题,而且我对.Net不熟悉(尽管 在我看来,它就像Java),而且我也不是任何专家 意味着,但是我认为这可能会帮助其他有类似问题的人。
您使用的INSTANCE
方法仅返回文本。如果你
要获取HTML,您需要创建一个BoilerpipeExtractor
和一个
HTMLHighlighter
。然后,您可以使用其process
方法来获取
您正在寻找。
final BoilerpipeExtractor extractor = CommonExtractors.ARTICLE_EXTRACTOR;
final HTMLHighlighter hh = HTMLHighlighter.newExtractingInstance();
.newExtractingInstance()
可以为您提供相关的信息
HTML。另一个选项是.newHighlightingInstance()
,突出显示
主要文本,但保持整个HTML文档完整。
此后,您需要做的就是调用HTMLHighlighter
的{{1}}
方法:
process
System.out.println(hh.process(url, extractor));
也可以是process
或
process(TextDocument doc, InputSource is)
。
在Github repo中浏览源代码。有笔记 什么都做。我寻找了Javadocs,但找不到 他们了。
在以下位置找到几乎完全这样的演示 HTMLHighlightDemo在同一仓库中。