Servlets 如何用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

我使用以下代码从网页中提取文本内容,我的应用程序托管在谷歌应用程序引擎上,工作原理与之完全相同。问题是我只能得到纯文本格式的结果。我在库中四处寻找工作,但找不到用HTML显示结果的方法。我尝试的是在原始的BoilerPipeWebAPI中包含一个类似HTML(提取模式)的选项

这是我用来提取纯文本的代码

 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);