程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP技巧 >> 使用組件搜索

使用組件搜索

編輯:ASP技巧

MicroSoft的asp(Active  Server  Page)技術極大的方便了在網絡中對於數據庫的訪問,而且由於ASP不同於CGI需要那麼多的請求(減少了服務器的資源占用),以及ASP同Windows  NT  、2000的結合使得ASP技術被廣泛的應用於今日的Internet,然而不知道你仔細的想過沒有!ASP除了利用ADO對數據庫的訪問和其他幾個內置組件的利用外,就不能作其他什麼的了,相對於perl,php等程序,ASP的功能看起來就非常簡單,而且功能缺乏;但是老比畢竟是老比,他給大家留了一手,那就是ASP組件(關於組件的概念,現在一大堆,你可不要搞錯了),通過組件的開發你可以做到其他語言(比如PHP,PERL,C++)能做到的一切,甚至在某些方面還能更加超出,本文力求給你展示一下ASP組件的強大功能,但是由於ASP組件自身的過(使用的是非注冊組件),可能有的時候使用會出現不穩定的狀態,然而本文是力求向你展示一點東西以及提供一種思路給你,而不是其他,所以不足的地方就請求了原諒了! 代碼思路:一般來看,我們提交一個表單給一個搜索引擎程序,搜索引擎獲得提交的數據然後處理,返回結果;然而這種東西其實都是取得了一個提交的變量,我們可以使用另外一種直接跟從連接的方式訪問搜索引擎,例如你可以使用yeah的首頁搜索一個關鍵字“xuankong”,也可以使用下面的連接“http://search.163.com/CGI-
bin/search/engine/search.fCGI?key=xuankong”取得使用結果,本文就是通過使用ASP  的HTTP組件訪問這種直接的連接,使用GET方式取得原本在WEB頁中返回的數據,然後輸出。 如果本組件能夠實現多線程(如果那樣就可以同時對不同的引擎取得數據,不必象現在單一的訪問然後取得結果,)和代碼進一步的優化和改進的話,將會極大的節約你的時間,讓你一次搜索同時返回多個引擎的結果! 備注:搜索出來的結果中,由於某些引擎的類目使用了相對的連接,所以無效(這些結果其實你都可以處理的,只是筆者太懶了,所以不想花那些功夫),但是所有的網站和網頁的連接都是有效的,本文提供的代碼只是適合於測試,不適合於具體的應用,如果需要具體的應用,需要使用適當的http組件,或者如果你是程序高手的話可以自己寫多線程的組件,關於http組件的代碼,你可以在www.chinaasp.com看到,欲得到更多的ASP組件請訪問www.aspcn.com!
代碼開始:
<!--
有任何的意見和建議請Mail:[email protected]
本代碼使用了http組件同時搜索出了幾個搜索引擎的數據,讓所有的搜索結果顯示在一個頁面當中,本文只是提供一種思路和思考
給大家展示ASP組件的強大功能! 由於本組件是非注冊組件可能功能有一定限制,同時由於同時搜索了幾個引擎(搜索引擎可以任意擴充,但是會影響速度
的),所以系統輸出數據的時間較長,請耐心等待 在使用本代碼前請你先去下載http://www.serverobjects.com/comp/asphttp3.zip,然好解壓縮到你的system32目錄(winnt  or  win2000)  
使用regsvr32  ASPhttp.dll  注冊本組件,然後拷貝本文件到相關的IIS可執行目錄,使用IE或者netscape浏覽
-->
<%
'判斷是輸出頁面還是處理數據,從而調用不同的部分
keyWord=trim(request.form("keyWord"))
if      isnull(keyword)  or  keyWord=""  then
%>
<!--
Html頁面代碼顯示
-->
<Html>
<head>
<title>ASPCN.COM  超級搜索引擎</title>
<meta  http-equiv="Content-Type"  content="text/Html;  charset=gb2312">
<META  NAME="Author"  CONTENT="蒲俊傑">
<META  NAME="KeyWords"  CONTENT="ASP,組件,www.ASPcn.com">
<style  type="text/CSS">
<!--
table  {    font-size:  9pt;  font-style:  normal}
.test  {    border:  1px  #000000  dashed;  border-color:  #000000  none}
.test1  {    background-color:  #CCFFCC;  clip:      rect(      );  font-size:  9pt;  font-style: 
normal;  border-style:  dashed;  border-top-width:  1px;  border-right-width:  1px;  border-bottom-width: 
1px;  border-left-width:  1px}
-->
</style>
</head>

<body  bgcolor="#FFFFFF"  leftmargin="0"  topmargin="0"  marginwidth="0"  marginheight="0">
<table  width="75%"  border="1"  align="center"  height="20"  cellpadding="0"  cellspacing="1" 
bgcolor="#66CC99"  bordercolor="#FFFFFF">
   <tr>  
       <td  height="4">  
           <div  align="center"><font  color="#000000"  size="2"  face="Arial">ASPCN.COM</font><font 
color="#000000"  size="3"  face="Arial"></font><b><font  color="#000000"  size="3"  face="Arial">  
               </font><font  color="#000000"  size="3"  face="仿宋_GB2312">超級搜索引擎</font></b></div>
       </td>
   </tr>
   <tr  bordercolor="#66CC99">  
       <td  height="21">請選擇下面的搜索引擎:(請注意:本搜索引擎只是適合於<font  color="#ffffff">網頁搜索
</font>)</td>
   </tr>
   <tr  bordercolor="#FFFFFF"  align="center"  valign="top">  
       <td  height="20">  
           <form  method="post"  action="http.ASP">
               <table  width="96%"  border="0"  height="21"  align="center">
                   <tr>  
                       <td  height="10"  width="31%">  
                           <div  align="right">請輸入你要搜索的關鍵字:  </div>
                       </td>
                       <td  height="10"  width="69%">  
                           <input  type="text"  name="keyWord"  class="test">
                       </td>
                   </tr>
                   <tr>  
                       <td  height="2"  width="31%">  
                           <div  align="right">請選擇你使用的搜索引擎:  </div>
                       </td>
                       <td  height="2"  width="69%">  
                           <input  type="checkbox"  name="yeah"  value="yeah">
                           Yeah  
                           <input  type="checkbox"  name="yahoo"  value="yahoo">
                           Yahoo  
                           <input  type="checkbox"  name="sina"  value="sina">
                           Sina  
                           <input  type="checkbox"  name="sohu"  value="sohu">
                           Sohu  
                           <input  type="checkbox"  name="goyoyo"  value="goyoyo">
                           Goyoyo</td>
                   </tr>
                   <tr>  
                       <td  height="2"  colspan="2">  
                           <div  align="right">  
                               <input  type="submit"  name="Submit"  value="讓我們開始吧"  class="test1">
                           </div>
                       </td>
                   </tr>
               </table>
           </form>
       </td>
   </tr>
   <tr  bordercolor="#FFFFFF">  
       <td  height="20">備注:由於使用了多個搜索引擎檢索,所以系統輸出的時間較長,請耐心等待...  ...</td>
   </tr>
   <tr  bordercolor="#FFFFFF">
       <td  height="20">
           <div  align="center">建議使用  IE  5.x  800*600訪問  ASPCN.COM  版權保留(2000-2001)  <font 
size="2">&copy;</font></div>
       </td>
   </tr>
</table>
</body>
</Html>
<!--
頁面代碼顯示結束
數據處理代碼顯示
-->
<%else
   Server.ScriptTimeout  =  100'設置腳本時間,由於系統輸出時間較長所以必須修改腳本代碼執行時間
   Set  http  =  Server.CreateObject("ASPHTTP.Conn")'連結組件
   keyword=request.form("keyWord")'取得搜索關鍵字
if  request.form("yeah")="yeah"  then'判斷是否選擇使用yeah搜索引擎
http.Url  =  "http://search.163.com/cgi-bin/search/engine/search.fcgi?key="&keyword'處理搜索地址
http.RequestMethod  =  "GET"'設置取得數據方式"GET,取得數據"
response.write    http.geturl'輸出搜索結果
end  if
'以下代碼請參考上例的說明,恕不羅嗦
'使用yahoo
if  request.form("yahoo")="yahoo"  then
http.Url  =  "http://google.yahoo.com/bin/query_gb?p="&keyword
http.RequestMethod  =  "GET"
response.write    http.geturl
end  if
'使用sohu
if  request.form("sohu")="sohu"  then
http.Url  ="http://search.sohu.com/cgi-bin/search_main.cgi?
txt_keyword="&keyWord&"&page_index=0&fuzzy=0&catagory=main"
http.RequestMethod  =  "GET"
response.write    http.geturl
end  if
'使用goyoyo
if  request.form("goyoyo")="goyoyo"  then
http.Url  ="http://www.goyoyo.com.cn/gyy/query?dbs=guidedbs&code=GB&query="&keyword
http.RequestMethod  =  "GET"
response.write    http.geturl
end  if
set  http=nothing
end  if
'提交數據處理結束
%>

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved