您现在的位置:首页 >> 学习笔记 >> 内容

在VB中通过Inet控件来获取网页html代码

时间:2012-08-26 23:21:42 点击:

  核心提示:这段日子,需要手工编程序来采集一个网站某些数据,重点用到了Inet控件的Execute方法,查到了一些关于INET控件的说明,特意记录以下笔记。inet控件有两种方法,分别是OpenURL和Execu...

这段日子,需要手工编程序来采集一个网站某些数据,重点用到了Inet控件的Execute方法,查到了一些关于INET控件的说明,特意记录以下笔记。inet控件有两种方法,分别是OpenURL和Execute方法,二者都可以向网站提交数据或者获取数据

1.如果你是使用OpenURL方法的话,它本身的返回值即是目标主机返回的数据
实例如下:

Dim ReString As String
ReString = Inet1.OpenURL("http://www.flyya.com")
这个ReString即是54nb页面代码


2.如果你是使用Execute方法的话,可以通过StateChanged事件获取数据
此事件处理函数有一个重要参数State,我们可以根据其值的不同来执行不同的操作(具体值见附表)
获取数据实例如下:

      Inet1.Execute "http://www.flyya.com"
      While Inet1.StillExecuting            '在此方法执行期间挂起程序流程(Execute方法是异步执行的,所以必须暂时挂起其他操作以等待获取数据完毕)
          DoEvents
      Wend
      Private Sub Inet1_StateChanged(ByVal State As Integer)
         Dim Stemp As String
         If State = 12 Then
          '请求完成,开始提取数据,使用GetChunk方法每次提取1024字节数据,循环直到数据提取完毕
            Stemp = Inet1.GetChunk(1024)
            While Stemp <> ""
               ReString = ReString + Stemp
               Stemp = Inet1.GetChunk(1024)
            Wend
            Inet1.Cancel
      End If
End Sub


附表:State的值及其对应状态

       0 icNone 无状态可报告。
   1 icHostResolvingHost 该控件正在查询所指定的主机的 IP 地址。
   2 icHostResolved 该控件已成功地找到所指定的主机的 IP 地址。
   3 icConnecting 该控件正在与主机连接。
   4 icConnected 该控件已与主机连接成功。
   5 icRequesting 该控件正在向主机发送请求。
   6 icRequestSent 该控件发送请求已成功。
   7 icReceivingResponse 该控件正在接收主机的响应。
   8 icResponseReceived 该控件已成功地接收到主机的响应。
   9 icDisconnecting 该控件正在解除与主机的连接。
  10 icDisconnected 该控件已成功地与主机解除了连接。
  11 icError 与主机通讯时出现了错误。
  12 icResponseCompleted 该请求已经完成,并且所有数据均已接收到。

Tags:VB INET控件 
作者:不详 来源:网络