很多網路愛好者在建立自己的個人首頁時,都絞盡腦汁讓自己網站的功能更全面。在此,筆者介紹一種使用ASP建立自己的搜尋引擎的方法。
基本思路 利用表單將使用者提交的搜尋索引鍵儲存在變數中,並提交給ASP指令碼處理。利用ASP內建的“REQUEST”對象擷取變數中的關鍵字符,隨後用“RESPONSE”的“REDIRECT”函數將關鍵字符轉向提交到其他的諸如搜狐、網易等專業搜尋引擎中,即可得出搜尋結果。使得訪客在自己的首頁上就可方便地使用各大搜尋引擎,無需登入其首頁面。
第一步 建立搜尋引擎的首頁面。在HTML檔案
的< body>和< /body>之間加入代碼如下:
< form name="form1" method="post" action="search.asp">
< div align="center">請選擇您喜歡的搜尋引擎< br>< br>
< select name="select" size="1">
< option>搜狐< /option>
< option>新浪(北京站)< /option>
< option>網易< /option>
< /select>< br>< br>
請鍵入您要查詢的關鍵字< br>
< input type="text" name="textfield">
< br>< br>
< input type="submit" name="Submit" style="color:#CC0033;background-color:#ffffff;font-size:9pt;border:#CC0033 1px solid;height:18px"value="搜 索">
< /form>
在此,我們提供了搜狐、新浪、網易3種搜尋引擎供使用者選擇,使用者鍵入關鍵字串後,表單將請求提交到背景 search.asp 處理。
第二步 編寫背景ASP程式。在HTML檔案的< body>和< /body>之間加入下列代碼:
< % if request.form("select")="搜狐" then response.redirect("http://site.search.sohu.com/
sitesearch.jsp?key_word="&&request.form("textfield")) end if
if request.form("select")="新浪(北京站)" then response.redirect("http://site.search.sohu.com/
sitesearch.jsp?key_word="&&request.form("textfield")) end if
if request.form("select")="網易" then response.redirect("http://search.163.com/cgi-bin/search/engine/search2.fcgi?lang=gb&&key="&&request.form("textfield")) end if
%>
在實現提交搜尋字串到其他搜尋引擎時,很關鍵的一點就是要明白這些搜尋引擎所使用的查詢格式。如搜狐用的就是“http://site.search.sohu.com/sitesearch.jsp?key_word=”搜尋字串 。我們只需平時在使用這些搜尋引擎時注意一下,給出搜尋結果時把IE地址欄中的地址記錄下來分析,去掉後面的諸如“%C1%F5%……”字元(這是我們提交的搜尋字串轉換成的字元),即可得到查詢格式。
另外,很多搜尋引擎使用了分類尋找。可細分為“網站”、“網頁”、“新聞”等類別,每一種類的查詢格式均不相同,讀者可以使用更多的IF語句建立選擇項,實現同一搜尋引擎內搜尋種類的細分。
同理,我們還可把這個程式進行擴充,把其他的搜尋引擎加入,使其功能更為強大。