如何获取java脚本的值';s变量来自c#.net中的一个网站

本文关键字:net 网站 一个 变量 java 获取 何获取 脚本 | 更新日期: 2023-09-27 18:28:37

我想从c#net中的一个网站获取JavaScript变量的值。目前我使用这个代码:

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>

如何获取java脚本的值';s变量来自c#.net中的一个网站

网站的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";