使用 Java 从网站获取内容

Getting Content From a Website with Java

我很好奇如何使用 Java 从网站中提取信息,我发现 JSoup(HTML 解析器)是一个受欢迎的建议。我在网上找到了很多例子,但没有真正解释如何使用它。假设我想使用 url, 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);

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

假设我想阅读 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());
  } 
}

希望这能让您入门..

对于温度试试这个:

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 查询,请参考语法 sheet:http://jsoup.org/cookbook/extracting-data/selector-syntax

也试试:http://try.jsoup.org/,非常适合测试!