从中央气象台抓取天气预报

这几天郑州下雪,一直盼望晴天的到来,于是关注天气情况.

可以Google一下:tq 郑州

如今写了个抓取中央气象台的天气预报(
http://www.tq121.com)

public string GetWeather(string url)
{
   
string weacherhtml=String.Empty;
   HttpWebRequest rt
=null;
   HttpWebResponse rs
=null;
   Stream stream
=null;
   StreamReader sr
=null;
 
   
try
   
{
   rt
=(HttpWebRequest)WebRequest.Create(url);
   rs
=(HttpWebResponse)rt.GetResponse();
   stream
=rs.GetResponseStream();
   sr
=new StreamReader(stream,System.Text.Encoding.Default);
   weacherhtml
=sr.ReadToEnd();
   
}

   
catch(Exception ee)
   
{
    Response.Write(
"<script>alert('发生异常')</script>");
   }

   
finally
   
{
    sr.Close();
    stream.Close();
    rs.Close();
    }


    
int start=weacherhtml.IndexOf("郑州");
    
int end=weacherhtml.IndexOf("隐私保护");

    
return weacherhtml.Substring(start,end-start);

}

别的城市天气情况请调用相应的URL,以及修改城市名称.
posted @ 2004-12-24 14:01 卡卡 ^ cacard 阅读(5596) 评论(9)  编辑 收藏 所属分类: ASP.NET生活/言论

  回复  引用    
#1楼 2004-12-24 15:01 | CsOver [未注册用户]
挺简单的.
  回复  引用  查看    
#2楼 2004-12-25 20:58 | 柚子男      
可以拿到嗎?
你如果用Winform測試,會是一大堆數據!

  回复  引用  查看    
#3楼 [楼主]2004-12-25 21:37 | caca(卡卡)      
可以的,已经测试过了.
  回复  引用    
#4楼 2005-09-21 18:28 | 阿辉 [未注册用户]
我试过上面的代码,sr.Close();报错,本人才疏学浅,请多指教!
westboy_zh2@126.com

  回复  引用  查看    
#5楼 [楼主]2005-09-22 14:00 | <a href=http://www.taokee.com>卡卡.net</a&g      
sr.Close()报错?
对于这种情况通用的方法就是
if(sr!=null)
{
sr.Close();
}
  回复  引用    
#6楼 2005-11-06 23:20 | xxxx_love@163.com [未注册用户]
StartIndex 不能小于 0。参数名: startIndex
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.ArgumentOutOfRangeException: StartIndex 不能小于 0。参数名: startIndex

源错误:


行 170: int end=weacherhtml.IndexOf("隐私保护");
行 171:
行 172: return weacherhtml.Substring(start,end-start);
行 173:
行 174: }


请回复xxxx_love@163.com 谢谢

  回复  引用  查看    
#7楼 [楼主]2005-11-07 02:26 | 卡卡.net      
re:楼上的 你抓取的页面地址是不是不存在了。。
  回复  引用  查看    
#8楼 2006-11-15 08:42 | 听棠.NET      
不要这么麻烦了吧,网上有现成的,而且非常漂亮,推荐一个最漂亮的三天的天气预报:http://www.17u.cn/tq.aspx
看个苏州的样例:
代码只需要:<iframe id="ifrWeather" width="158" height="270" frameBorder="0" scrolling="no" src="  
#9楼 2007-10-09 13:03 | fgfds [未注册用户]
能根据ip自动传吗?



This is footer