2013-08-22 64 views
0

我想從c#net中的網站獲取JavaScript變量的值。目前我使用此代碼:如何從c#.net中的網站獲取java腳本變量的值

System.Net.WebClient wc = new System.Net.WebClient(); 

string webData = wc.DownloadString("://87.126.167.13/"); 

textBox1.Text = Convert.ToString(webData); 

它返回HTML。但我想溫度的值從這個鏈接: ://87.126.167.13/但它返回:

<td>Temperature:</td><td><script>document.write(MNS,TW1,TW2,'.',TF,TF1)</script> C</td>

+0

而不是那個特定的鏈接,你可以嘗試它的CSV輸出在http://87.126.167.13/x,然後你可以得到任何日期的土壤溫度和空氣溫度值 – Habib

回答

0

的CSV格式頁面(http://87.126.167.13/x),該網站有可能會是對你更有用。它看起來像:

Date,AirTemp,SoilTemp,Humidity 
2013-08-22 14:46:00,+31.20,+21.6,32 
2013-08-22 15:13:55,+32.22,+21.5,31 
** more values ** 
2013-08-22 13:50:26,+30.39,+21.6,34 
2013-08-22 14:18:19,+31.40,+21.6,33 
1004+2200 

你可以用一些簡單的代碼分析這些值,比如

var lines = webData.Split('\n'); 
var allData = lines.Skip(1).Take(lines.Length - 2).Select(x => new WeatherData(x)); 
var latestDate = allData.Max(x => x.DateTime); 
var latestAirTemp = allData.First(x => x.DateTime == latestDate).AirTemp; 

public class WeatherData 
{ 
    public DateTime DateTime { get; set; } 
    public decimal AirTemp { get; set; } 
    public decimal SoilTemp { get; set; } 
    public int Humidity { get; set; } 
    public WeatherData(string rawData) 
    { 
     // implement 
    } 
} 

這或腳本文件http://87.126.167.13/s,這是定義你所提到的MNS,TW1,...。從那裏,你可以解析出你想要的價值。它看起來像:

var AN3= 10;var MNS="+";var TW1= 1;var TW2= 9;var TF= 7;var TF1= 0;var HR= 22;var MN= 23;var SC= 39;var DY= 22;var MH= 8;var YR= 3;var RH=" 53";var WD="South-East";var WS="00";var MNS2="+";var ST="21.5";var BP="8261";var RAD2="1.11"; 
相關問題