VB实现天气查询

原创 2007年09月18日 11:46:00
领导出差了,总是很担心那边的天气情况,于是想在以前写的软件里面加入天气预报功能,多少方便些。

其实方法很是简单,就是从网页上抓取有用信息即可。只不过要在vb中先填入"Microsoft Internet Controls"这个部件,因为要使用到其中的WebBrowser。添加方法很简单,添加后如下图:

 

 

准备工作已经就绪,正式工作开始:

新建一个form表,在其上添加一个WebBrowser,一个按钮,一个Label。WebBrowser就是我们的网页承载器了。下面给出示例:

Private Sub Command1_Click()

Call WebBrowser1.Navigate("http://php.weather.sina.com.cn/search.php?city=北京")

Label11.Caption = "请 稍 后 …"

End Sub

下载下来的网页部分内容如下:

源文件部分如下:

既然知道文件的具体内容了,也就好搜索所需信息了,下面就是重点:

  Private Sub WebBrowser1_DownloadComplete()
  On Error Resume Next
  weatherpage = WebBrowser1.Document.documentElement.innerHTML
          Dim nhEndIndex     As Long
          Dim nhBeginIndex     As Long

          Dim htemperature As String
          Dim ltemperature As String
         
          Dim nlEndIndex     As Long
          Dim nlBeginIndex     As Long
     
              nhEndIndex = InStr(70, weatherpage, "℃")
              If nhEndIndex > 0 Then
                  nhBeginIndex=InStrRev(weatherpage,">",nhEndIndex)+1
                  Label1=counterweather
                  htemperature=Mid(weatherpage,nhBeginIndex,nhEndIndex-nhBeginIndex+1)                 
                 
                  nlEndIndex=InStr(nhEndIndex+1, weatherpage, "℃")
                  nlBeginIndex=InStrRev(weatherpage,"~",nlEndIndex)+1
                  ltemperature=(Mid(weatherpage,nlBeginIndex,nlEndIndex-nlBeginIndex+1))
                 
                  Label1="北京今天:"&htemperature &"~"              End If
  End Sub

简单讲解一下就是:找到第一个℃,从℃往前到>为止的内容是最高温度部分,再往下找下一个℃,从这个℃往前到~,是最低温度部分。分别进行赋值给htemperature 和 ltemperature 然后通过label1显示即可。

注意:这段程序是和网页的内容相关的,如果你选择的气象网站的内容不是这样排列的,大家就要稍微修改一下代码了,但万变不离其宗。

 

当然,上面只是简单介绍了这种方法,还很不完善。比如:网页可能刷新很慢,或者出错怎么办?呵呵,当然方法很多也不难,还是大家自己想想吧,我就不多言了!

而且再次说下,这个方法不只适用于天气预报,只要是获取网页信息的,都适用。比如:股票信息,招聘信息,价格etc.

 

还是保留节目,show下我自己的软件:(自己也认为很弱)

版权声明:本文为博主原创文章,未经博主允许不得转载。

天气预报(VB)

  • 2013年07月16日 15:38
  • 3KB
  • 下载

天气预报webservice vb调用实例

  • 2011年09月05日 13:31
  • 207KB
  • 下载

VB实现天气查询

领导出差了,总是很担心那边的天气情况,于是想在以前写的软件里面加入天气预报功能,多少方便些。其实方法很是简单,就是从网页上抓取有用信息即可。只不过要在vb中先填入"Microsoft Internet...
  • tornadofeng
  • tornadofeng
  • 2007年09月18日 11:46
  • 1869

vb天气预报自动更新系统

  • 2010年01月14日 12:02
  • 5.74MB
  • 下载

python实现查询天气

源教学地址: http://crossincode.com/course/lesson_list/ 这个小程序通过抓取 网页源代码,使用json解析,格式化字符实现了 天气的查询,但是...
  • qq_24489717
  • qq_24489717
  • 2016年09月12日 14:43
  • 5902

【Python】实现一个天气查询

实现一个桌面版的天气查询天气API 首先找获取天气的API:点击查看天气api 可能这篇博客写的有点乱,我来总结一下http://wthrcdn.etouch.cn/weather_mini?ci...
  • wenqiang1208
  • wenqiang1208
  • 2017年07月18日 22:56
  • 229

VB.NET GDI+ 天气预报

最近闲来无事,想起天气预报那个工具很不好用,所以想自己做一个。 于是顺便体验下WPF的魅力,就用WPF开始动工了。进度很快,技术上不是很难摸, 一天吧就完成了决大部分主要功能 。其实就是一个显示界...
  • machong8183
  • machong8183
  • 2012年04月26日 16:51
  • 2346

天气预报VBA模块

  • 2013年10月22日 21:22
  • 16KB
  • 下载

实现全国天气查询

实现全国天气信息,学会这个,那些手机验证码,语音验证码......webservice 服务就可以迎刃而解。...
  • qq_33851315
  • qq_33851315
  • 2017年06月17日 15:28
  • 62

Android实现天气查询

Android实现 省份–城市–天气 的联动
  • little_shengsheng
  • little_shengsheng
  • 2016年05月10日 16:44
  • 328
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VB实现天气查询
举报原因:
原因补充:

(最多只允许输入30个字)