如何在没有“”替换部分HTML代码的情况下下载带有java的完整网页?

时间:2016-03-08 17:34:42

标签: java html

我一直在编写一些代码转到网站并将HTML代码复制到文本文件中。问题是某些代码被替换为“& nbsp”。 这是我正在使用的代码:

public void addRecords() throws IOException{

    URL google = new URL("Insert Website Here");
    BufferedReader in = new BufferedReader(
            new InputStreamReader(google.openStream()));

    String inputLine;
    while ((inputLine = in.readLine()) != null){
        System.out.println(inputLine);
        z.format("%s \n ", (inputLine));
    }
    in.close();
}

3 个答案:

答案 0 :(得分:1)

  1. 将网页读入连续的缓冲区。
  2. 替换"& nbsp;"用" "
  3. 写入文本文件。
  4. 选项2

    1. 阅读网页(就像您现在一样)。
    2. 获取网页的一行。
    3. 替换"& nbsp;"用" "
    4. 写一行网页。
    5. 如果有更多行,请转到第1步。

答案 1 :(得分:0)

有许多形式为&...;的HTML实体在浏览器中显示为特殊字符。您甚至可以使用免费号码,字符代码:&8233;

有一个具有类似unescape函数的Apache库commons lang

html = StringEscapeUtils.unescapeHtml4(html);

答案 2 :(得分:0)

您可以尝试这样的事情:

System.out.println(inputLine.replaceAll(" "," "));

<强> OBS &GT;请注意,您的HTML页面可能包含其他字符转义符,因此重用该解决方案不太好。

你可以参考这篇文章中的公共lang Apache项目: Replace HTML codes with equivalent characters in Java