icroSoft的ASP(Active Server Page)技術(shù)極大的方便了在網(wǎng)絡(luò)中對(duì)于數(shù)據(jù)庫(kù)的訪問(wèn),而且由于ASP不同于CGI需要那么多的請(qǐng)求(減少了服務(wù)器的資源占用),以及ASP同Windows NT、2000的結(jié)合使得ASP技術(shù)被廣泛的應(yīng)用于今日的Internet,然而不知道你仔細(xì)的想過(guò)沒(méi)有!ASP除了利用ADO對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)和其他幾個(gè)內(nèi)置組件的利用外,就不能作其他什么的了,相對(duì)于perl,php等程序,ASP的功能看起來(lái)就非常簡(jiǎn)單,而且功能缺乏;但是老比畢竟是老比,他給大家留了一手,那就是ASP組件(關(guān)于組件的概念,現(xiàn)在一大堆,你可不要搞錯(cuò)了),通過(guò)組件的開(kāi)發(fā)你可以做到其他語(yǔ)言(比如PHP,PERL,C++)能做到的一切,甚至在某些方面還能更加超出,本文力求給你展示一下ASP組件的強(qiáng)大功能,但是由于ASP組件自身的過(guò)(使用的是非注冊(cè)組件),可能有的時(shí)候使用會(huì)出現(xiàn)不穩(wěn)定的狀態(tài),然而本文是力求向你展示一點(diǎn)東西以及提供一種思路給你,而不是其他,所以不足的地方就請(qǐng)求了原諒了!
代碼思路:一般來(lái)看,我們提交一個(gè)表單給一個(gè)搜索引擎程序,搜索引擎獲得提交的數(shù)據(jù)然后處理,返回結(jié)果;然而這種東西其實(shí)都是取得了一個(gè)提交的變量,我們可以使用另外一種直接跟從連接的方式訪問(wèn)搜索引擎,例如你可以使用 yeah的首頁(yè)搜索一個(gè)關(guān)鍵字“xuankong”,也可以使用下面的連接“http://search.163.com/cgi- bin/search/engine/search.fcgi?key=xuankong”取得使用結(jié)果,本文就是通過(guò)使用ASP的HTTP組件訪問(wèn)這種直接的連接,使用GET方式取得原本在WEB頁(yè)中返回的數(shù)據(jù),然后輸出。
如果本組件能夠?qū)崿F(xiàn)多線程(如果那樣就可以同時(shí)對(duì)不同的引擎取得數(shù)據(jù),不必象現(xiàn)在單一的訪問(wèn)然后取得結(jié)果,)和代碼進(jìn)一步的優(yōu)化和改進(jìn)的話,將會(huì)極大的節(jié)約你的時(shí)間,讓你一次搜索同時(shí)返回多個(gè)引擎的結(jié)果!
備注:搜索出來(lái)的結(jié)果中,由于某些引擎的類目使用了相對(duì)的連接,所以無(wú)效(這些結(jié)果其實(shí)你都可以處理的,只是筆者太懶了,所以不想花那些功夫),但是所有的網(wǎng)站和網(wǎng)頁(yè)的連接都是有效的,本文提供的代碼只是適合于測(cè)試,不適合于具體的應(yīng)用,如果需要具體的應(yīng)用,需要使用適當(dāng)?shù)膆ttp組件,或者如果你是程序高手的話可以自己寫(xiě)多線程的組件,關(guān)于http組件的代碼,你可以在www.chinaasp.com看到,欲得到更多的asp組件請(qǐng)?jiān)L問(wèn)www.aspcn.com!
代碼開(kāi)始: $#@60;!-- 有任何的意見(jiàn)和建議請(qǐng)Mail:pu.junjie@263.net, 本代碼使用了http組件同 閹鞒雋思父鏊閹饕嫻氖藎盟械乃閹鶻峁允駒諞桓鲆趁嫻敝校疚鬧皇翹峁┮恢炙悸泛退伎幾蠹藝故続SP組件的強(qiáng)大功能! 由于本組件是非注冊(cè)組件可能功能有一定限制,同時(shí)由于同時(shí)搜索了幾個(gè)引擎(搜索引擎可以任意擴(kuò)充,但是會(huì)影響速度的),所以系統(tǒng)輸出數(shù)據(jù)的時(shí)間較長(zhǎng),請(qǐng)耐心等待在使用本代碼前請(qǐng)你先去下載 http://www.serverobjects.com/comp/asphttp3.zip,然好解壓縮到你的system32目錄(winnt or win2000) 使用regsvr32 asphttp.dll 注冊(cè)本組件,然后拷貝本文件到相關(guān)的iis可執(zhí)行目錄,使用IE或者netscape瀏覽 --$#@62; $#@60;% ’判斷是輸出頁(yè)面還是處理數(shù)據(jù),從而調(diào)用不同的部分 keyword=trim(request.form("keyword")) if isnull(keyword) or keyword="" then %$#@62; $#@60;!-- html頁(yè)面代碼顯示 --$#@62; $#@60;html$#@62; $#@60;head$#@62; $#@60;title$#@62;ASPCN.COM 超級(jí)搜索引擎$#@60;/title$#@62; $#@60;meta http-equiv="Content-Type" content="text/html; charset=gb2312"$#@62; $#@60;META NAME="Author" CONTENT="蒲俊杰"$#@62; $#@60;META NAME="Keywords" CONTENT="ASP,組件,www.aspcn.com"$#@62; $#@60;style type="text/css"$#@62; $#@60;!-- 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} --$#@62; $#@60;/style$#@62; $#@60;/head$#@62; $#@60;body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"$#@62; $#@60;table width="75%" border="1" align="center" height="20" cellpadding="0" cellspacing="1" bgcolor="#66CC99" bordercolor="#FFFFFF"$#@62; $#@60;tr$#@62; $#@60;td height="4"$#@62; $#@60;div align="center"$#@62;$#@60;font color="#000000" size="2" face="Arial"$#@62;ASPCN.COM$#@60;/font$#@62;$#@60;font color="#000000" size="3" face="Arial"$#@62;$#@60;/font$#@62;$#@60;b$#@62;$#@60;font color="#000000" size="3" face="Arial"$#@62; $#@60;/font$#@62;$#@60;font color="#000000" size="3" face="仿宋_GB2312"$#@62;超級(jí)搜索引擎 $#@60;/font$#@62;$#@60;/b$#@62;$#@60;/div$#@62; $#@60;/td$#@62; $#@60;/tr$#@62; $#@60;tr bordercolor="#66CC99"$#@62; $#@60;td height="21"$#@62;請(qǐng)選擇下面的搜索引擎:(請(qǐng)注意:本搜索引擎只是適合于$#@60;font color="#ffffff"$#@62;網(wǎng)頁(yè)搜索$#@60;/font$#@62;)$#@60;/td$#@62; $#@60;/tr$#@62; $#@60;tr bordercolor="#FFFFFF" align="center" valign="top"$#@62; $#@60;td height="20"$#@62; $#@60;form method="post" action="http.asp"$#@62; $#@60;table width="96%" border="0" height="21" align="center"$#@62; $#@60;tr$#@62; $#@60;td height="10" width="31%"$#@62; $#@60;div align="right"$#@62;請(qǐng)輸入你要搜索的關(guān)鍵字: $#@60;/div$#@62; $#@60;/td$#@62; $#@60;td height="10" width="69%"$#@62; $#@60;input type="text" name="keyword" class="test"$#@62; $#@60;/td$#@62; $#@60;/tr$#@62; $#@60;tr$#@62; $#@60;td height="2" width="31%"$#@62; $#@60;div align="right"$#@62;請(qǐng)選擇你使用的搜索引擎: $#@60;/div$#@62; $#@60;/td$#@62; $#@60;td height="2" width="69%"$#@62; $#@60;input type="checkbox" name="yeah" value="yeah"$#@62; Yeah $#@60;input type="checkbox" name="yahoo" value="yahoo"$#@62; Yahoo $#@60;input type="checkbox" name="sina" value="sina"$#@62; Sina $#@60;input type="checkbox" name="sohu" value="sohu"$#@62; Sohu $#@60;input type="checkbox" name="goyoyo" value="goyoyo"$#@62; Goyoyo$#@60;/td$#@62; $#@60;/tr$#@62; $#@60;tr$#@62; $#@60;td height="2" colspan="2"$#@62; $#@60;div align="right"$#@62; $#@60;input type="submit" name="Submit" value="讓我們開(kāi)始吧" class="test1"$#@62; $#@60;/div$#@62; $#@60;/td$#@62; $#@60;/tr$#@62; $#@60;/table$#@62; $#@60;/form$#@62; $#@60;/td$#@62; $#@60;/tr$#@62; $#@60;tr bordercolor="#FFFFFF"$#@62; $#@60;td height="20"$#@62;備注:由于使用了多個(gè)搜索引擎檢索,所以系統(tǒng)輸出的時(shí)間較長(zhǎng),請(qǐng)耐心等 待... ...$#@60;/td$#@62; $#@60;/tr$#@62; $#@60;tr bordercolor="#FFFFFF"$#@62; $#@60;td height="20"$#@62; $#@60;div align="center"$#@62;建議使用 IE 5.x 800*600訪問(wèn) ASPCN.COM 版權(quán)保留(2000-2001) $#@60;font size="2"$#@62;©$#@60;/font$#@62;$#@60;/div$#@62; $#@60;/td$#@62; $#@60;/tr$#@62; $#@60;/table$#@62; $#@60;/body$#@62; $#@60;/html$#@62; $#@60;!-- 頁(yè)面代碼顯示結(jié)束數(shù)據(jù)處理代碼顯示 --$#@62; $#@60;%else Server.ScriptTimeout = 100’設(shè)置腳本時(shí)間,由于系統(tǒng)輸出時(shí)間較長(zhǎng)所以必須修改腳本代碼執(zhí)行時(shí)間 Set http = Server.CreateObject("AspHTTP.Conn")’連結(jié)組件 keyword=request.form("keyword")’取得搜索關(guān)鍵字 if request.form("yeah")="yeah" then’判斷是否選擇使用yeah搜索引擎 http.Url = "http://search.163.com/cgi-bin/search/engine/search.fcgi?key="&keyword’處理搜索地址 http.RequestMethod = "GET"’設(shè)置取得數(shù)據(jù)方式"GET,取得數(shù)據(jù)" response.write http.geturl’輸出搜索結(jié)果 end if ’以下代碼請(qǐng)參考上例的說(shuō)明,恕不羅嗦 ’使用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 ’提交數(shù)據(jù)處理結(jié)束 %$#@62;
|
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!