当前位置: 首页 > 图文教程 > 网络编程 > ASP > 实例分析之用ASP编程实现网络内容快速查找的代码

ASP
asp分页(自己整理的2个分页程序)
ASP常用的系统配置函数
雨哲防采集策略之列表篇
雨哲浅谈关于防采集而不影响收录内容篇
asp数据库连接函数
ajax XMLHTTP Post Form时的表单乱码综合解决
ASP注入详细命令40条
用ASP实现MSSQL用户密码破解
ASP创建对象的两种方法比较
ASP字符串转换为整形、双精度型、布尔
ASP计算str2在str1中出现的次数
asp采集抓取网上房产信息的代码
ASP注册登陆实例代码
ASP中使用FileSystemObject时提高性能的方法
分享一个好东东,动态Include文件 (Dynamic File Includes)
解决 JScript 中使用日期类型数据时出现类型错误的问题
在ASP里面创建GUID
在JScript中使用缓存技术的实际代码
ASP javascript Application对象的Contents和StaticObjects做Cache的一些经验
海阳2006+功能中的潜水王

实例分析之用ASP编程实现网络内容快速查找的代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 134 ::
收藏到网摘: n/a

有一天我突发奇想,要是我每到一个网站,那里都能立刻调出我需要看的信息,那岂非美妙得很。接下来我想更深入地考虑这个问题,坐到椅子上拿一支铅笔,却不知道自己写什么。如此一来,我还是得着手对付代码它们。
我的朋友开了一个小型站点,原本是我设计的。这是个检验我想法的好平台。所以我写出代码,上传了文件。真叫人兴奋,程序工作起来煞是圆满,同时也证明我的想法的确不错。
以前看过一些网络使用者倾向报告,其中有一个规律给我印象很深。说是大多数用户如果在三次点击内无法找到自己需要的内容,就会立刻离开该站点。我的代码就可以针对这个问题,保险用户只要点一次鼠标就找到目标。在我的例子里,假设有个用户上了Yahoo,检索关键字为Fireplace Accessories(飞行器材配件)。在给出的结果里,他来到我朋友的站点,将看到"你正在搜索Fireplace Accessories"等字样的画面。接着他会按照网站上的提示,直接到想要去的页面。
你要作的第一步,是在global.asa文件中建立一个初始变量,放置在你的Sub Session_onStart()程序中。
复制代码 代码如下:

Sub Session_onStart()
 Referer = Trim(Request.ServerVariables("HTTP_REFERER"))
 If Referer = "" Then
  Referer = "None"
 End If
  Session("Referer") = Referer
End Sub

接着我们来着手看看如何完成程序的主要功能。
因为url经过了编码,所以首先要把来访者主机的指向数据还原成对我们有用的东西。建立一个ASP页面,叫它decode.asp,是我们程序的主干。第一个功能是要对编码过的指向头进行解码。程序有点长,而且很直接,没有什么转弯抹角,如果你嫌麻烦,不如到www.popunet.com的"网虫进修班"上面找到本文,用"拷贝/粘贴"大法吧。
源代码
  第二件要作的事情是:从URL头信息里分离出查询部分--这个才是我们需要的。
复制代码 代码如下:

 '从指向URL中分离查询字段。
Function isProduct(pStr)
 If pStr <> "" And lCase(pStr) <> "none" Then
  '向后搜索字段
  temp = inStrRev(pStr, "/")
  '得到目录分离的位置
  tempStr = Right(pStr, temp)
  '得到有关数据长度
  temp2 = Len(pStr)
  '得到查询数据行
  pStr = Mid(pStr, temp, temp2)
  '设定返回功能的值
  isProduct = pStr
Else
  isProduct = ""
End If
End Function

接着是要确立查找的明确标准。为达到这个目的,建立两个静态空间"指?查找指向数据
复制代码 代码如下:

Function Finder(byRef prodList, byVal refList)
'模糊查询
refList = lCase(refList)
' 通过指针循环查找匹配字段
For i = 0 To uBound(prodList) - 1
If inStr(refList, lCase(prodList(i, 0))) Then
'找到匹配
tHolder = tHolder & "Are You looking For " _
& "" _
& prodList(i, 0) & "
"
End If
'第二次循环
Next
'返回结果
Finder = tHolderEnd Function
通过一个inclue,把我们做好的decode.asp放到需要此功能的任何页面,大功告成啦。
  具体如下:
  '如果指向头不为空,调出此功能If lCase(Session("Referer")) <> "none" OR Session("Referer") <> "" Then' 解析指向数据 Response.Write vbCrLf & "
" _ & Finder(pArray, URLDecode(isProduct(Session("Referer")))) _ & "
" & vbCrLf
End If