程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> 實例分析之用ASP編程實現網絡內容快速查找的代碼

實例分析之用ASP編程實現網絡內容快速查找的代碼

編輯:關於ASP編程
有一天我突發奇想,要是我每到一個網站,那裡都能立刻調出我需要看的信息,那豈非美妙得很。接下來我想更深入地考慮這個問題,坐到椅子上拿一支鉛筆,卻不知道自己寫什麼。如此一來,我還是得著手對付代碼它們。 
我的朋友開了一個小型站點,原本是我設計的。這是個檢驗我想法的好平台。所以我寫出代碼,上傳了文件。真叫人興奮,程序工作起來煞是圓滿,同時也證明我的想法的確不錯。
以前看過一些網絡使用者傾向報告,其中有一個規律給我印象很深。說是大多數用戶如果在三次點擊內無法找到自己需要的內容,就會立刻離開該站點。我的代碼就可以針對這個問題,保險用戶只要點一次鼠標就找到目標。在我的例子裡,假設有個用戶上了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 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved