使用Java从网站获取内容

时间:2015-01-21 02:25:24

标签: java html-parsing jsoup

我很好奇如何从使用Java的网站获取信息,我发现JSoup(HTML Parser)是一个受欢迎的建议。我在网上找到了不少例子,但没有真正解释如何使用它。假设我想使用此网址http://weather.gc.ca/city/pages/on-143_metric_e.html获取多伦多的温度,我将如何进行此操作?

我想你必须指定标签,但是在该网站的html中,我想要的信息是在标签中,但是当我运行我的代码时,更多的信息也是如此

String url = "http://weather.gc.ca/city/pages/on-4_metric_e.html";
            Document document = Jsoup.connect(url).get();

            String temp = document.select("dd").text();
            System.out.println("Title:  " + temp);

我得到的信息比我想要的多得多。

2 个答案:

答案 0 :(得分:1)

对于温度试试这个:

String url = "http://weather.gc.ca/city/pages/on-4_metric_e.html";
Document document = Jsoup.connect(url).get();

String temp = document.select("p").get(1).text();
System.out.println("Temperature:  " + temp);

有关制定CSS查询的信息,请参阅语法表:http://jsoup.org/cookbook/extracting-data/selector-syntax

还可以尝试:http://try.jsoup.org/,非常适合测试!

答案 1 :(得分:0)

假设我想阅读mywebsite.com的内容。我就是这样做的:

import java.net.*;
import java.io.*;

class MyClass {
  public static void main(String[] arg) throws Exception {
    URL u = new URL("http://www.mywebsite.com");

    InputStream ins = u.openStream();
    InputStreamReader isr = new InputStreamReader(ins);
    BufferedReader br = new BufferedReader(isr);

    System.out.println(br.readLine());
  } 
}

希望这可以让你开始..