Servlets 如何用HTML代替纯文本获取样板文件抽取结果
我使用以下代码从网页中提取文本内容,我的应用程序托管在谷歌应用程序引擎上,工作原理与之完全相同。问题是我只能得到纯文本格式的结果。我在库中四处寻找工作,但找不到用HTML显示结果的方法。我尝试的是在原始的BoilerPipeWebAPI中包含一个类似HTML(提取模式)的选项 这是我用来提取纯文本的代码Servlets 如何用HTML代替纯文本获取样板文件抽取结果,servlets,jakarta-ee,web-scraping,boilerpipe,Servlets,Jakarta Ee,Web Scraping,Boilerpipe,我使用以下代码从网页中提取文本内容,我的应用程序托管在谷歌应用程序引擎上,工作原理与之完全相同。问题是我只能得到纯文本格式的结果。我在库中四处寻找工作,但找不到用HTML显示结果的方法。我尝试的是在原始的BoilerPipeWebAPI中包含一个类似HTML(提取模式)的选项 这是我用来提取纯文本的代码 PrintWriter out = response.getWriter(); try { String urlString = request.getParamete
PrintWriter out = response.getWriter();
try {
String urlString = request.getParameter("url");
String listOUtput = request.getParameter("OutputType");
String listExtractor = request.getParameter("ExtractorType");
URL url = new URL(urlString);
switch (listExtractor) {
case "1":
String mainArticle = ArticleExtractor.INSTANCE.getText(url);
out.println(mainArticle);
break;
case "2":
String fullArticle = KeepEverythingExtractor.INSTANCE.getText(url);
out.println(fullArticle);
break;
}
} catch (BoilerpipeProcessingException e) {
out.println("Sorry We Couldn't Scrape the URL you Entered " + e.getLocalizedMessage());
} catch (IOException e) {
out.println("Exception thrown");
}
如何在HTML表单中包含显示结果的功能?我正在使用Boilerpipe的源代码,并使用以下代码解决您的问题:
String urlString = "your url";
URL url = new URL(urlString);
URI uri = new URI(urlString);
final HTMLDocument htmlDoc = HTMLFetcher.fetch(url);
final BoilerpipeExtractor extractor = CommonExtractors.DEFAULT_EXTRACTOR;
final HTMLHighlighter hh = HTMLHighlighter.newExtractingInstance();
hh.setOutputHighlightOnly(true);
TextDocument doc;
String text = "";
doc = new BoilerpipeSAXInput(htmlDoc.toInputSource()).getTextDocument();
extractor.process(doc);
final InputSource is = htmlDoc.toInputSource();
text = hh.process(doc, is);
System.out.println(text);