制作自己的网络搜索软件
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 就实现了对临时变量中搜索结果代码的图片信息去除工作,以此类推,很容易去掉诸如”
Public Function yahooFilter(downCode)
Dim sString1 As String, sString2 As String, sString3 As String
Dim sStart As Long, sStop As Long
Dim string1 As String, string2 As String, lastString as string
sString1 = "
sString2 = ""
sString3 = "<"
sStart = InStr(downCode, sString1)'取得第一条主题信息的起始位置
Do While sStart <> 0
sStop = InStr(sStart, downCode, sString2)
string1 = Mid(downCode, sStart 4, sStop - sStart) '将第一条主题信息存放在string1变量中
sStart = InStr(sStop, downCode, sString1) '从第一条主题信息的结束部位开始查找该主题的简单描述
sStart = sStop 4
sStop = InStr(sStart, downCode, sString3) '取得该主题描述部分的结束位置
If sStop = sStart Then '判断只有主题而没有描述的信息
string2 = ""
ElseIf sStop <> sStart Then
string2 = Mid(downCode, sStart, sStop - sStart - 1) '取出主题描述部分
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
- 在asp.net中为Web用户控件
- .NET3.5和VS2008中的ASP.N
- 对.NET Framework 反射的
- Asp.net Ajax 1.0 异步回
- ASP.NET2.0的控件状态和视
- 通过避免下列10个常见ASP.
- 中国地区三级联动下拉菜单
- 解析Asp.net中资源本地化
- 一个无刷新效果定时自动更
- 动态创建MSSQL数据库表存
- asp.net用url重写URLReWri
- 使用ASP.NET Atlas编写显
- 关于ASP.NET调用JavaScrip
- 使用ASP.Net Forms模式实
- asp.net ajax 使用updatep
- 优化ASP.NET应用程序性能
- ASP.NET中动态修改web.con
- ASP.NET中利用Crystal Rep
- asp.net如何生成图片验证
- 基于ASP.NET的Web动态控件
- 分享个极好的无刷新二级联
- asp.net 2.0 上传控件的使
- 创建ASP.NET监视服务器进
- Asp.net把UTF-8编码转换为
- 开发基于ASP.NET WebServi
- asp.net结合html,javascr
- asp.net 2.0下嵌套masterp
- 正则表达式提取数字
- 最新版FreeTextBox(版本3.
- 获取本机上配置好的Oracle
- ASP.Net全局变量的设置和
- VB几个有用的函数
- 用代码画折线图/柱形图/
- FCKeditor2.2 ASP.NET2.0
- 客户端回调实现gridView无
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD



