使用Java从网站获取内容

使用Java从网站获取内容,java,html-parsing,jsoup,Java,Html Parsing,Jsoup,我很好奇如何用Java从网站上获取信息,我发现JSoup(HTML解析器)是一个流行的建议。我在网上找到了不少例子,但没有真正解释如何使用它。假设我想用这个url获取多伦多的温度,我该怎么做呢 我想您必须指定标记,但是在该站点的html中,我想要的信息是在标记中,但是当我运行代码时,更多的信息也是在标记中 String url = "http://weather.gc.ca/city/pages/on-4_metric_e.html"; Document document

我很好奇如何用Java从网站上获取信息,我发现JSoup(HTML解析器)是一个流行的建议。我在网上找到了不少例子,但没有真正解释如何使用它。假设我想用这个url获取多伦多的温度,我该怎么做呢

我想您必须指定标记,但是在该站点的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查询,请参阅语法表:


还可以尝试:,非常适合测试

你试过什么了吗?我试过一点,但我似乎只得到了html代码。如果你需要任何帮助,你需要发布你迄今为止尝试过的代码,以及你遇到的问题。否则,任何人都不可能帮助你。仅仅要求某人为您编写一个解决方案不会得到任何回答,这正是我所要寻找的。非常感谢。你能解释一下“document.select(“p”).get(1).text();”文档吗?select(“p”)将提取所有标记的集合,第二个(1,因为它以0开头)恰好是温度,你可能应该进行更精确的查询以最终收集温度!更好的查询应该是:document.select(“div.col-sm-12>p:has(abbr:contains(C))”).text();我会试试看。谢谢你所做的一切。