基本上,我试图从此链接中提取股票的当前价格
通过查看页面源,我希望能够从中提取数字:
<meta itemprop="price"
content="31.40" />
这是我的Java代码。
public double getCurrentPrice() throws IOException{
String url = "https://www.google.com.hk/finance?q=0023&ei=yF14VYC4F4Wd0ASb64CoCw";
Document doc = Jsoup.connect(url).get();
Element content = doc.getElementById("meta");
}
而且我一直收到这个错误:
456.0Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Element cannot be resolved to a type
at application.Trade.getCurrentPrice(Trade.java:45)
at application.Trade.main(Trade.java:64)
该错误消息不是很有帮助。我应该如何克服呢?
导入正确的类。meta也不是一个id而是一个标签。因此您不能使用getElementById
获取该元素。usingitemprop
属性获取此元素并按content
attribute获取值。
通配符仅从包中导入类。例如
import org.jsoup.*
将导入,org.jsoup.nodes
但不是org.jsoup.nodes.Element;
因为org.jsoup.nodes.Element
位于org.jsoup.nodes
包中。
例子。
import java.io.IOException;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class example {
public static void main(String[] args) throws IOException {
String url = "https://www.google.com.hk/finance?q=0023&ei=yF14VYC4F4Wd0ASb64CoCw";
Document doc = Jsoup.connect(url).get();
Element content = doc.select("meta[itemprop=price]").first();
System.out.println(content.attr("content"));
}
}
输出
31.40
编辑
知道应该导入哪些类.....
考虑这句话
Document doc
现在您正在创建Document对象,因此您应该导入Document类。如果您阅读jsoup api,则可以看到该类层次结构。
如您所见,这Document
是一类包,org.jsoup.nodes
因此您import org.jsoup.nodes.Document;
需要以.import的形式导入类,您必须阅读api。无论如何,像netbeans这样的想法,eclipse会建议您一些易于导入的类,并且可以节省大量时间。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句