科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件制作自己的网络搜索软件

制作自己的网络搜索软件

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

vb是最简单方便的编程语言,利用vb编写一个小小的搜索软件用不了多少行语句......

作者:闫辉 来源:yesky 2007年10月15日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
Internet Transfer控件有一个事件StateChanged。这个事件的目的是当不同的操作发生时通知用户程序。例如:控件在与网络服务器链接时是一种状态,检索HTML是另一种状态。当前的状态用事件过程的State 参数来表示。在示例程序的StateChanged事件中输入如下代码:

Private Sub Inet1_StateChanged(ByVal State As Integer)

Select Case State

Case 12 '表明网络连接检索正常

stemp=Inet1.GetChunk(1024) '使用GetChunk方法从缓冲区中一次提取1024个字节的回应文本,并存放在stemp临时变量中

While stemp<>””'当仍然返回信息时

LastResult=LastResult+stemp'将整个网页的源文件代码放入LastResult变量中

stemp=Inet1.GetChunk(1024)'循环

Wend

Case 11

MsgBox "未返回搜索结果"

End Select

End Sub

  尽管StateChanged事件包含了这个示例程序代码的主要部分,我们仍然需要在Command1的Click事件中加入代码,以初始化这个请求。下面就是这段代码: `

Private Sub Command1_Click()

url = "http://search.chinese.yahoo.com/search/gb?p=" +Text1.Text

Inet1.protocol=icHTTP'指明控件协议类型

Inet1.Execute CStr(url),”GET /” '发出请求

While Inet1.StillExecuting

DoEvents

Wend

End Sub

  前面已经提到,以这种方法返回的信息包含了搜索的结果网页,同直接搜索的区别就是由于这样返回的就是源代码,暂时存储到一个临时变量中,这样一来,你既可以将返回的信息直接存储到一个文件中,另一种方法,这就是我们下面要提到的对代码的优化处理。

  什么叫对代码的优化处理呢?因为返回的结果中包含许多其他没有什么用处的修饰,比如表格、banner、menta等等信息,而这些信息并不是我们需要的,去掉这些信息,只保留对我们来说有用的结果,这就是优化。那么怎样优化呢?分析HTML语法您就会看到,许多信息都是包含在一些关键词之间。举个例子:对于插入的图片来说,都是用””来结尾,这样一来就清楚了,只要把代码中所有的满足以上条件的语句删掉,这样代码中就不会出现直接图片信息,我们参考以下的一段代码:

Public Function picFilter(downCode)'定义一个过滤图片信息的过程 Dim pStart As Long, pStop As Long

Dim pString1 As String, pString2 As String

pString1 = "

pString2 = ">" '分别将两个关键词定义

pStart = InStr(downCode, pString1)'找到第一个图片信息的起始位置

If pStart <> 0 Then '如果代码中有图片信息的话

pStop = InStr(pStart, downCode, pString2) + 1 '从上面找的起始部位开始找到第一个用于结束图片信息的”>”

Do While pStart <> 0 '只要仍旧有图片信息

Mid(downCode, pStart, pStop - pStart) = Space(pStop - pStart) '将代码中的图片信息用空格代替,实现删除效果

pStart = InStr(pStop, downCode, pString1)'重复上面的过程,删除其他的图片信息

If pStart = 0 Then Exit Do '没有图片信息后,退出循环

pStop = InStr(pStart, downCode, pString2, 1) + 1

Loop

picFilter=downCode '将处理过后的代码返回过程函数

End Function

  接下来只要使用

lastResult=picFilter lastResult

  就实现了对临时变量中搜索结果代码的图片信息去除工作,以此类推,很容易去掉诸如”

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章