【问题标题】:Extracting just the text out of HTML code in Java [duplicate]仅从Java中的HTML代码中提取文本[重复]
【发布时间】:2018-02-11 22:36:03
【问题描述】:

我需要从网站上的 HTML 中提取文本。这是我用来提取 HTML 代码的代码。

public static void readFromWeb(String webURL) throws IOException {

        URL url = new URL(webURL);
        InputStream is =  url.openStream();
        try( BufferedReader br = new BufferedReader(new InputStreamReader(is))) {
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        }
        catch (MalformedURLException e) {
            e.printStackTrace();
            throw new MalformedURLException("URL is malformed!!");
        }
        catch (IOException e) {
            e.printStackTrace();
            throw new IOException();
            }
        } 

【问题讨论】:

  • 抱歉,您的问题尚不清楚(至少 IMO)。 “即使文件是本地文件,我希望它能够在非本地网站上做同样的事情”是什么意思?您的代码与您面临/询问的问题有何关联?
  • 我的意思是我不想使用 html 文件,我也希望能够使用公共网站。上面的代码提取了html代码,现在我只需要取出html部分,留下文字
  • 所以你想解析 html结构并且只留下它代表的文本。在这种情况下,请使用许多 HTML 解析器之一。 IMO Jsoup 是最好的之一。下面显示的答案包含如何使用它的演示。

标签: java html text


【解决方案1】:

使用JSoup:

public class Main {

    public static void main(final String[] args) throws IOException {
        System.out.println(readFromWeb("http://www.stackoverflow.com/"));
    }

    public static String readFromWeb(final String webUrl) throws IOException {
        final Document doc = Jsoup.connect(webUrl).get();
        return doc.text();
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-31
    • 2010-11-26
    • 1970-01-01
    • 2014-11-21
    • 2012-02-09
    • 2015-02-13
    • 2011-08-16
    相关资源
    最近更新 更多