科技行者

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

知识库

知识库 安全导航

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

制作自己的网络搜索软件

  • 扫一扫
    分享文章到微信

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

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

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

关键字:

  • 评论
  • 分享微博
  • 分享邮件
上面所说的是一种方法,但我们知道HTML语法中关键词很多,如果都用以上的条件过滤的话,会使程序的效率大大降低,运行速度也会减慢很多。有没有更好的方法?有,如果是有心人的话,您就会发现不同的搜索引擎返回的结果有其独特的编排方式,我们仍旧以雅虎为例,你只要察看其返回的结果源代码就会发现:每一条信息的链接和主题部分排列都是以“
  • ”开始,以“”结束,而在“” 和接下来的第一个“<”之间的部分是该主题的简单描述,这样我们可以用下面的代码来将雅虎搜索结果代码中的有用信息提炼起来:

    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) '取出主题描述部分

    End If

    lastString = lastString + "

    " + string1 + string2 '将提炼的结果存放在临时变量中

    sStart = InStr(sStop, downCode, sString1)'重新定位下一条信息的起始位置

    Loop'循环

    yahooFilter = lastString'

    End Function

  •   经过了上面复杂的提炼,然后将提炼的结果写到一个网页文件中,然后调用浏览器显示,会出现整整齐齐的结果。

      返回头来我们看一下现在比较流行的搜索软件,比如 SearchX98、Crazysearch、Inforian Quest 99,无论他们说明写的再好,也跳不出上面所说的原理,但他们各自有自己的一些独特之处,比如SearchX98 能够连续搜索多个引擎,其实就是发出一条搜索指令后,程序本身连续在各个搜索引擎发出搜索指令,将返回的结果经过简单的处理生成一个页面,其他的内容搜索更是最简单的直接发出搜索指令而已。而对于 Crazysearch,你只要打开注册表,就会发现其中文搜索只能搜索中文雅虎,英文只能搜索Excite,但号称注册版本能够搜索1000条记录,其实您只要分析一下雅虎的搜索代码就会发现,其中有一个关键词是 “n=”,代表一次搜索返回的结果数目;另外一个是“b=”,代表从第几条记录开始显示,就这两个关键词起到了这么重大的作用,但Crazysearch的独特之处在于返回的搜索结果以表格方式排列,直观醒目。最后要推荐的是Inforian Quest 99,尽管其原理也超脱不了以上的范围(您只要打开其目录下的site子目录中的文件就清楚了),但我还是极力推荐,因为无论是从站点的数量,搜索范围的广泛,搜索的速度,结果的详细,没有能过超过Inforian Quset 99的,而且要差很多。当然基于对国产软件的支持,我们还是可以对上面的两个软件寄予厚望。同是由于本人水平有限,难免有疏漏之处,敬请大家指正。

  • 查看本文来源

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

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

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