使用Java从网站获取内容
我很好奇如何用Java从网站上获取信息,我发现JSoup(HTML解析器)是一个流行的建议。我在网上找到了不少例子,但没有真正解释如何使用它。假设我想用这个url获取多伦多的温度,我该怎么做呢 我想您必须指定标记,但是在该站点的html中,我想要的信息是在标记中,但是当我运行代码时,更多的信息也是在标记中使用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
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();我会试试看。谢谢你所做的一切。