利用正则表达式分析腾讯网页提取天气信息

作者因关注天气,利用腾讯天气网站内容开发了一个小程序。通过正则表达式分析网页内容提取天气信息,从两个页面获取今明及未来天气。利用Regex对象分析提取,用循环语句匹配所有情况,最后编译为winexe格式加到计划任务,代码需在.net 2.0环境运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       过几天就冬至了,寒潮是隔几天就来一次,毛衣自从穿上之后就再也没脱下来过,就连看天气预报的次数就多了不少。
      今天心血来潮,看到腾讯天气网站的内容不错,就写了一个小程序,通过正则表达式分析网页内容,提取天气信息显示出来,然后定义一个计划任务定时弹出一个MessageBox显示天气信息,在上午上班时间显示今天天气,下午下班显示明天天气,感觉还不错。
      数据来源于网页:http://weather.qq.com/,主要分析两个页面,从http://weather.qq.com/inc/ss292.htm可以看到今天的天气,从http://weather.qq.com/inc/dc292.htm可以看到明天及未来的天气,主要利用System.Text.RegularExpressions中的Regex对象分析提取信息,例如html内容“<td height="23" align="center">小于3级</td>”,利用下面的表达式align=\"center\">([^<]*)</td>分析就可以获得字符串“小于3级”,大致代码如下
None.gif        Regex r  =   new  Regex( " align=\ " center\ " >([^<]*)</td> " , RegexOptions.IgnoreCase);
None.gif        Match m 
=  r.Match(data);
None.gif        
while  (m.Success)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            Group g1 
= m.Groups[1];
InBlock.gif            System.Console.WriteLine(
"Group1=[" + g1.ToString().Trim() + "]");
InBlock.gif            m 
= m.NextMatch();
ExpandedBlockEnd.gif        }
       利用一个循环语句就可以不断的分析html数据,提取出所有匹配的情况,基本上这就是天气信息的内容了,余下的就是组织一下代码就差不多了。
       最后,为了便于计划任务调用,用csc /target:winexe参数编译为winexe格式,然后加到计划任务中ok。
附:实现源代码 http://files.cnblogs.com/midea0978/weather.rar

由于部分方法是.net 2.0中的,所以只能运行于.net 2.0环境,对于1.1则需要修改几个地方。
job.JPG p1.JPG
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值