使用 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/,非常适合测试!
我很好奇如何使用 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/,非常适合测试!