从URL中提取HTML

时间:2011-03-06 21:32:13

标签: java html string url extract

我正在使用Boilerpipe从网址中提取文字,使用以下代码:

URL url = new URL("http://www.example.com/some-location/index.html");
String text = ArticleExtractor.INSTANCE.getText(url);

String text只包含html页面的文本,但我需要从中提取整个html代码。

是否有人使用过此库并知道如何提取HTML代码?

您可以查看demo page以获取有关该库的更多信息。

3 个答案:

答案 0 :(得分:10)

对于像这样简单的事情,你真的不需要外部库:

 URL url = new URL("http://www.google.com");
 InputStream is = (InputStream) url.getContent();
 BufferedReader br = new BufferedReader(new InputStreamReader(is));
 String line = null;
 StringBuffer sb = new StringBuffer();
 while((line = br.readLine()) != null){
   sb.append(line);
 }
 String htmlContent = sb.toString();

答案 1 :(得分:1)

只需使用KeepEverythingExtractor代替ArticleExtractor

但这是错误的工作使用错误的工具。你想要的只是下载URL的HTML内容(对吗?),而不是提取内容。那么为什么要使用内容提取器?

答案 2 :(得分:1)

使用Java 7和Scanner技巧,您可以执行以下操作:

public static String toHtmlString(URL url) throws IOException {
    Objects.requireNonNull(url, "The url cannot be null.");
    try (InputStream is = url.openStream(); Scanner sc = new Scanner(is)) {
        sc.useDelimiter("\\A");
        if (sc.hasNext()) {
            return sc.next();
        } else {
            return null; // or empty
        }
    }
}