2015-04-28 109 views
2

我正在從網站獲取wheather條件。 http://trestlebikepark.com/使用Jsoup從網頁獲取數據返回空結果

當我從Chrome或Firefox使用Inspect元素功能時,我找到了我需要的文本(34F)的div類。

<div class="overlayWeather"> 
       <div class="title">Current</div> 
       <div class="icon"><span class="climacon sun"></span></div> 
       <div class="temperature">34 °F</div> 
       <div class="conditions">Sunny</div> 
      </div> 

但是在源代碼中,內容是空的。

 <div class="currentStatusOverlay"> 
      <div class="overlayWeather"> 
       <div class="title">Current</div> 
       <div class="icon"><span class="climacon"></span></div> 
       <div class="temperature"></div> 
       <div class="conditions"></div> 
      </div> 
     </div> 

我該如何獲得這些文本?

我試圖

Document doc = Jsoup.connect(url).get(); 

      Elements div = doc.select("div.temperature"); 
      String temp = div.text(); 

我收到空結果

我的理解比頁面加載後的表被填充,但我不能找到如何在Android的TextView得到這個值的信息

+1

Jsoup不執行JavaScript,因此它不會看到任何動態生成的內容。你可以嘗試一個實際的瀏覽器或像Selenium這樣的瀏覽器前端。 –

+0

你可能想看看這個答案,我給了一次類似的問題:http://stackoverflow.com/questions/19465510/how-to-parse-a-webpage-that-includes-javascript/19467873#19467873或這個http://stackoverflow.com/questions/14904776/parse-javascript-with-jsoup?lq=1 – luksch

回答

1

另一種方式做,而不是Jsoup此:發送HTTP請求到

https://secure.winterparkresort.com/JSON/RtpJsonServices.asmx/getTrestleConditions?callback=null 

這會給你一些JSON,如:

null({"iconClass":"sun","Temperature":34,"Conditions":"Sunny","openLifts":0,"openTrails":0}); 

你有你想要的信息。