如何格式化java中的网页源代码?

时间:2014-02-24 23:01:33

标签: java

以下代码帮助我从提供的URL获取源代码,没有任何错误。但我正在寻找的是格式化我收到的源代码。

我之前的手动任务是访问此网站http://www.freeformatter.com/html-formatter.html粘贴我的源代码,然后通过选择每个缩进选项3个空格来格式化它。如何让我的java代码为我做同样的格式化?

我希望它格式化的原因是因为我有另一个脚本逐行读取它并保存所需的数据并忽略其余的。

 private static String getUrlSource(String url) throws IOException {
     URL x= new URL(url);
     URLConnection yc = x.openConnection();
     BufferedReader in = new BufferedReader(new InputStreamReader(
             yc.getInputStream(), "UTF-8"));
     String inputLine;
     StringBuilder a = new StringBuilder();
     while ((inputLine = in.readLine()) != null)
     { a.append(inputLine); a.append("\n");
     }
     in.close();

     return a.toString();
 }

public static void main(String[] args) {
    // TODO Auto-generated method stub
  System.out.println("Hello");

   url="http://www.bctransit.com/regions/cfv/schedules/schedule.cfm?p=day.text&route=1%3A0&day=1&";

  try {
    String value= getUrlSource(url);
    System.out.println(value);
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

1 个答案:

答案 0 :(得分:2)

如果您正在抓取网页,我建议使用真正的HTML解析器。你的方法迟早会失败。

我建议您查看jsoup。虽然我从未使用它,但我的Python对应物Beautifulsoup已经取得了很好的效果。

使用诸如jsoup之类的库将为您提供一个很好的对象模型来遍历,而不是依赖于字符串操作。

作为奖励,jsoup 为您实际格式化HTML字符串,无论如何你想要它。