[英]'java.lang.String org.jsoup.nodes.Element.text()' on a null object reference
[英]Getting a string text from Jsoup Element object
我試圖從Yahoo Finance獲得股票報價。提取頁面,找到帶有價格報價的span標簽,但是當我嘗試將其輸出到控制台時,什么也沒發生。有人可以幫忙嗎?
Document doc = Jsoup.connect("http://finance.yahoo.com/q?s=AAPL").get();
Elements quote = doc.select("yfs_184_aapl");
for(Element h: quote)
{
String price = h.text();
System.out.println(price);
}
我也知道Element對象不是空的:
if(quote == null)
{
System.out.println("The element is empty");
}
編輯:
我嘗試過這種方法
Document doc = Jsoup.connect("http://finance.yahoo.com/q?s=AAPL").get();
Element quote = doc.getElementById("yfs_184_aapl");
String price = quote.text();
System.out.println(price);
當我嘗試打印價格變量時,它給了我空指針異常。
ID yfs_184_aapl也是股票價格的跨度標簽ID。如果您檢查股票價格元素,則應該可以找到它。
我簡要介紹了您提供的網址。 我認為您誤解了CSS選擇器語法,因為您要查找的元素似乎具有ID“ yfs_184_aapl”。 您正在搜索具有該名稱的標簽。 所以正確的查詢應該是
Element quote = doc.select("#yfs_184_aapl").first();
要么
Element quote = doc.getElementById("yfs_184_aapl")
我確實檢查了該內容是直接加載還是通過AJAX加載。 您很幸運,它已經包含在原始內容中,因此使用給定的替代方法應該能夠獲得所需的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.