在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

用VB制作網絡搜索軟件

用VB制作網絡搜索軟件

更新時間:2022-05-13 文章作者:未知 信息來源:網絡 閱讀次數:

◆ 南京工程學院仿真部 施建強(shiyu789@163.com)

網絡搜索的原理

搜索軟件是通過向搜索站點發出特殊搜索字串命令(各個站點的格式不一樣),然后對結果進行處理后顯示出來,但如何發出搜索字符串、發出怎樣的字符串還需要對HTML有一定的認識。我們知道對于網上信息的發送是通過表單的形式來進行的,也就是說當我們在網上點擊某些表單時,通過表單中包含的默認地址中的表單處理程序來接受所有包含在表單中的信息,這些信息有的是顯示的,而另外一些卻是隱藏的。您可以試著將一個包含有表單的網頁用Frontpage或者Dreamwaver打開,這時您就會發現有很多在瀏覽器里看不到的東西,這些隱藏的標志在您發送表單時起著重要的作用。沒有這些標志,發出的字符串很可能得不到服務器的應答。

知道了這些,再來看程序所需發送的字符串,舉個例子來說:雅虎中文的搜索代碼是 http://cn.search.yahoo.com/search/gb?p=***,其中***代表的是所要搜索的字符串,而剩余的部分是處理字符串的服務器程序的地址。另外一個我們很常用的搜索引擎Yeah,它的搜索代碼相對復雜一些,是“http:

//www2.yeah.net/cgi-bin/query2.exe?query=***&start=0&REXP=AND” ,但基本的東西沒有變,它們都是使用了這樣一種形式:http://目標URL?參數1名=參數1值&參數2名=參數2值&參數3名=參數3值……

對于HTTP協議,有幾種傳送數據的方法,其中比較常用的有GET和POST方法,對于使用GET方法進行傳送數據的網站來說,使用上面的形式能夠通過一條查詢語句返回所需要查詢的內容網頁,但對于使用 POST方法的網站,有可能返回不了查詢結果網頁,不過從筆者的經驗看,一般來說是能夠成功的。

實現方法

下面剖析現在流行的搜索軟件程序,并介紹使用VB制作自己的搜索軟件的方法。

啟動VB 6.0,首先創建一個窗體,然后要對運行環境進行一下設置:具體來說,就是添加上必要的控件,一般情況下,如果您安裝了IE 4.0以上的瀏覽器,可通過點擊VB菜單中“工程->部件”,在彈出的部件對話框中找到有一欄寫著“Microsoft Internet Controls”的選項。利用它我們可以初始化一個瀏覽器的實例。當您選中這個選項后,會發現工具欄中多了一個形狀如同地球的按鈕,這就是剛才選中的瀏覽器控件,雙擊這個圖標按鈕在窗體上生成一個WebBrowser1的部件,接下來就使用這個部件來顯示查詢的結果。然后在窗體上放上一個文本框和一個按鈕,其實就這幾個部件已經可以構成一個最小的搜索程序基本結構了。

程序的編制

假若窗體上有一個文本框Text1、一個標簽Label1、一個瀏覽器WebBrowser1、一個按鈕Command1,其中文本框用于輸入關鍵詞,瀏覽器用于顯示查詢結果網頁,按鈕用于發出請求語句,點擊Command1的程序代碼可以這樣寫:

Private Sub Command1_Click()

Dim url As String

On Error Resume Next ’出錯后繼續

If Text1.Text = “” Then

MsgBox “請先輸入關鍵字”

EndIf ’防止不輸入關鍵詞

url = “http://search.chinese.yahoo

.com/search/gb?p=” + Text1.Text

’將關鍵詞放入查詢語句中

Webbrowser1.Navigate url

’調用瀏覽器顯示查詢結果

End Sub

雅虎的查詢語句比較簡單,而對于比較復雜網站的查詢語句一定要注意的是各個關鍵參數之間一定要用“&”來隔開。雖然您只是學會了這一招,但已經足夠利用網上的資源來編寫您的第一個程序了,因為網上所有類型的表單都能表示了,無論是查詢股票、軟件、書籍等都不外乎這種模式。只要您將查詢網頁調入 Frontpage、Dreamwaver等所見即所得的網頁編輯軟件中,這些網頁的源碼便會展現在您的面前,利用這些鏈接,再加上一個好的界面,就可以制作自己的搜索工具軟件了,不過要注意的是,有些表單的傳送路徑是相對路徑,這時要加上網站的地址鏈接。

程序的改進

上面的方法比起直接訪問搜索站點的確能節省不少上網的時間,但并沒有將程序的優勢全部發揮出來,我們現在繼續介紹另外一種檢索網頁的方法:

首先介紹一個控件Microsoft Internet Transfer(這個控件在安裝VB或者某些應用程序的時候會自動安裝),這個控件允許建立與其他計算機的連接,并傳送文件。它使兩個Internet協議HTTP和FTP的使用變得容易。當正常訪問一個網頁時,Internet Transfer用GET命令訪問網絡瀏覽器的一個文件。例如,如果打開了URL: http://www.computerworld.com

.cn/,瀏覽器將建立與地址是www.computerworld

.com的機器的連接,并傳送GET命令。HTML 將通過連接以普通文本的方式返回,因為返回的內容只是所要的網頁的源文件,節省了很多用于傳送、顯示網頁中圖像的時間,速度要快了許多,而且最重要的是我們可以很方便地使用自己的邏輯對返回的源文件進行正確地分析和格式化,重新整理網頁的查詢結果。

還用剛才的窗體,只是要在菜單中選擇“工程->部件”,在彈出的對話框中找到一項“ Microsoft Internet Transfer Control”,選中后,在工具欄中您就會發現增添了一個顯示有地球和計算機的小按鈕,雙擊這個按鈕會在窗體上加入一個 Internet Transfer實例Inet1,完成了這些步驟后,現在準備在實例工程中加入代碼。

Internet Transfer控件有一個事件StateChanged。這個事件的目的是當不同的操作發生時通知用戶程序。例如:控件在與網絡服務器連接時是一種狀態,檢索HTML是另一種狀態。當前的狀態用事件過程的State 參數來表示。在示例程序的StateChanged事件中輸入如下代碼:

Private Sub Inet1_StateChanged(ByVal State As Integer)

Select Case State

Case 12 ’表明網絡連接檢索正常

stemp=Inet1.GetChunk(1024)

’使用GetChunk方法從緩沖區中一次提取1024個字節的文本,并存放在stemp臨時變量中

While stemp<>“”

’當仍然返回信息時

LastResult=LastResult+stemp

’將整個網頁的源文件代碼放入LastResult變量中

stemp=Inet1.GetChunk(1024) ’循環

Wend

Case 11

MsgBox “未返回搜索結果”

End Select

End Sub

盡管StateChanged事件包含了這個示例程序代碼的主要部分,我們仍然需要在Command1的Click事件中加入代碼,以初始化這個請求。下面就是這段代碼:

Private Sub Command1_Click()

url =“http://search.chinese.yahoo

.com/search/gb?p=” +Text1.Text

Inet1.protocol=icHTTP

’指明控件協議類型

Inet1.Execute CStr(url),“GET /”

’發出請求

While Inet1.StillExecuting

DoEvents

Wend

End Sub

進一步優化

前面已經提到,用這種方法返回的信息包含了搜索的結果網頁,同直接搜索的區別就是由于這樣返回的是源代碼,暫時存儲到一個臨時變量中,這樣一來,您可以將返回的信息直接存儲到一個文件中。還有另一種方法,這就是我們下面要提到的對代碼的優化處理。

什么叫對代碼的優化處理呢?因為返回的結果中包含許多其他沒有什么用處的修飾,比如表格、“banner”等等信息,而這些信息并不是我們需要的,去掉這些信息,只保留對我們來說有用的結果,這就是優化。那么怎樣優化呢?分析HTML語法您就會看到,許多信息都是包含在一些關鍵詞之間。舉個例子:對于插入的圖片來說,都是用“”來結尾,這樣就清楚了,只要把代碼中所有的滿足以上條件的語句刪掉,這樣代碼中就不會出現圖片信息,代碼如下:

Public Function picFilter(downCode)

’定義一個過濾圖片信息的過程

Dim pStart As Long, pStop As Long

Dim pString1 As String, pString2 As String

pString1 = “
pString2 = “>”

’分別將兩個關鍵詞定義

pStart = InStr(downCode, pString1)

’找到第一個圖片信息的起始位置

If pStart <> 0 Then

’如果代碼中有圖片信息的話

pStop = InStr(pStart, downCode, pString2) + 1

’從上面找的起始部位開始找到第一個用于結束圖片信息的“>”

Do While pStart <> 0

’只要仍舊有圖片信息就繼續處理

Mid(downCode, pStart, pStop - pStart) = Space(pStop - pStart)

’將代碼中的圖片信息用空格代替,實現刪除效果

pStart = InStr(pStop, downCode, pString1)

’重復上面的過程,刪除其他的圖片

If pStart = 0 Then Exit Do

’沒有圖片信息后,退出循環

pStop = InStr(pStart, downCode, pString2, 1) + 1

Loop

End If

picFilter=downCode

’將處理過后的代碼返回過程函數

End Function

接下來只要使用lastResult=picFilter(lastResult)就實現了對臨時變量中搜索結果代碼的圖片信息去除工作,以此類推,很容易去掉諸如“
上面所說的是一種解決方法,但我們知道HTML語法中關鍵詞很多,如果都用以上的條件過濾的話,會使程序的效率大大降低,運行速度也會減慢很多。有沒有更好的方法?有,不同的搜索引擎返回的結果有其獨特的編排方式。我們仍以雅虎為例,您只要看看其返回的結果源代碼就會發現:每一條信息的鏈接和主題部分排列都是以“
”開始,以“”結束,而在“” 和接下來的第一個“<”之間的部分是該主題的簡單描述,這樣我們可以用下面的代碼來將雅虎搜索結果代碼中的有用信息提取出來:

Public Function yahooFilter(downCode)

Dim sString1 As String, sString2 As String, sString3 As String

Dim sStart As Long, sStop As Long

Dim string1 As String, string2 As String, lastString as string

sString1 =“


sString2 =“”

sString3 =“<”

sStart = InStr(downCode, sString1)

’取得第一條主題信息的起始位置

Do While sStart <> 0

sStop = InStr(sStart, downCode, sString2)

string1 = Mid(downCode, sStart + 4, sStop - sStart)

’將第一條主題信息存放在string1變量中

sStart = InStr(sStop, downCode, sString1)

’從第一條主題信息的結束部位開始查找該主題的簡單描述

sStart = sStop + 4

sStop = InStr(sStart, downCode, sString3)

’取得該主題描述部分的結束位置

If sStop = sStart Then

’判斷是否只有主題而沒有描述的信息

string2 = “”

ElseIf sStop <> sStart Then

string2 = Mid(downCode, sStart, sStop - sStart - 1)

’取出主題描述部分

End If

lastString = lastString + “
” + string1 + string2

’將提煉的結果存放在臨時變量中

Start = InStr(sStop, downCode, sString1)

’重新定位下一條信息的起始位置

Loop ’循環

yahooFilter = lastString

End Function

經過了上面復雜的處理,將結果寫到一個網頁文件中,然后調用瀏覽器顯示,就會出現整整齊齊的結果。

現在比較流行的搜索軟件,比如 SearchX98、Crazysearch,它們都符合上面所說的原理,但它們各自都有自己的一些獨特之處,比如SearchX98 能夠連續搜索多個引擎,其實就是發出一條搜索指令后,程序本身連續向各個搜索引擎發出搜索指令,將返回的結果經過簡單的處理生成一個頁面,其他的內容搜索更是最簡單地直接發出搜索指令而已。而對于 Crazysearch,您只要打開注冊表,就會發現其中文搜索只能搜索中文雅虎,英文只能搜索Excite,號稱注冊版本能夠搜索1000條記錄,其實您只要分析一下雅虎的搜索代碼就會發現,其中有一個關鍵詞是“n=”,代表一次搜索返回的結果數目;另外一個是“b=”,代表從第幾條記錄開始顯示,就是這兩個關鍵詞起到了重要的作用,但Crazysearch的獨特之處在于返回的搜索結果以表格方式排列,直觀醒目。

結束語

本文剖析了現在流行的搜索軟件并介紹了使用VB 6.0制作搜索軟件的辦法。在搜索軟件方面, 當然還有很多工作可以去做, 希望此文能起到拋磚引玉的作用。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 日本高清一区二区视频| 大陆av在线播放| 欧美 日韩 国产在线观看| 亚洲xxx在线观看| 在线观看国产一级片| 国产精品亚洲a| 免费国产a级片| 欧美黑人经典片免费观看| 精品少妇人欧美激情在线观看| 婷婷激情四射五月天| 免费观看成人网| 香蕉视频禁止18| aaa一级黄色片| 国产精品视频二| 久久综合九色综合88i| 欧美a v在线播放| 中文字幕制服丝袜在线| 91传媒久久久| 热这里只有精品| 日韩免费一级视频| 欧美日韩理论片| 欧美一区二区三区综合| 亚洲一区二区图片| 日本黄色三级大片| www.日本少妇| 亚洲欧美天堂在线| 少妇高清精品毛片在线视频| 日本新janpanese乱熟| 亚洲精品蜜桃久久久久久| 91插插插影院| 人人爽人人爽av| 午夜精品久久久久久久99热影院| 大地资源网在线观看免费官网| 18禁免费观看网站| 国产 日韩 亚洲 欧美| 国产欧美久久久久| 一级全黄肉体裸体全过程| 国内外免费激情视频| 免费av手机在线观看| 黄色三级视频在线| 欧美特级aaa| 污污视频在线免费| 国产91沈先生在线播放| 国产一级做a爰片久久毛片男| 波多野结衣xxxx| 国产一级不卡视频| 久久综合色视频| 香港日本韩国三级网站| 在线视频日韩一区 | 毛片在线播放视频| 一卡二卡三卡视频| 中文字幕线观看| heyzo亚洲| 青娱乐精品在线| 日韩欧美国产免费| 日韩成人av免费| 国产av天堂无码一区二区三区| 污污的视频免费观看| 中文字幕黄色大片| 日本精品免费视频| 日本久久精品一区二区| 黄色www网站| 成人在线播放网址| 一区二区三区国产好的精华液| www国产黄色| 99久热在线精品视频| av久久久久久| 992kp免费看片| 亚洲国产精品影视| 三级黄色片免费看| a级网站在线观看| 成年人深夜视频| 日本a级片在线播放| 黄色一级在线视频| 国产真人做爰毛片视频直播| 色一情一区二区三区| 在线免费黄色小视频| 国产乱女淫av麻豆国产| 国产乱码一区二区三区四区| 婷婷中文字幕在线观看| 国产精品久久久久久久av福利| 欧美日韩一区二区三区69堂| 三日本三级少妇三级99| 国产一区二区三区乱码| 国内国产精品天干天干| 国产一级片91| 日日碰狠狠躁久久躁婷婷| 裸体裸乳免费看| 999精品网站| 成人国产一区二区三区| 999香蕉视频| 免费成人进口网站| 欧美韩国日本在线| 欧美黑人经典片免费观看| 粉色视频免费看| 麻豆传媒网站在线观看| 欧美wwwwwww| 女性女同性aⅴ免费观女性恋| 国产日韩欧美久久| 激情视频综合网| 国产男女无遮挡| 日韩欧美黄色大片| 制服丝袜综合网| 99视频在线免费| av动漫在线观看| 六月丁香激情网| 国产精品69页| 五月婷婷激情久久| 国内外成人免费在线视频| 午夜免费高清视频| 亚洲免费看av| 亚洲精品天堂成人片av在线播放 | 视频免费1区二区三区| 午夜影院免费版| 日本福利视频在线观看| 欧美二区在线视频| 天天干天天玩天天操| 蜜臀av性久久久久蜜臀av| 日本a在线免费观看| 精品免费国产一区二区| 6080国产精品| 日韩 欧美 高清| 特大黑人娇小亚洲女mp4| 国自产拍偷拍精品啪啪一区二区| 亚洲最大综合网| 亚洲国产精品无码观看久久| 国产天堂在线播放| 91手机视频在线| 日韩精品aaa| 强伦女教师2:伦理在线观看| 特黄视频免费观看| 国产淫片免费看| 黄色网页免费在线观看| 性高湖久久久久久久久aaaaa| 中文字幕精品一区二区三区在线| 成人一级片网站| 久久99999| 日韩高清第一页| 先锋影音男人资源| 欧美久久在线观看| 尤蜜粉嫩av国产一区二区三区| 北条麻妃69av| 日韩成人av免费| 黄页免费在线观看视频| 欧美成人xxxxx| 男女激烈动态图| 亚洲国产精品久久久久爰色欲| 男女无套免费视频网站动漫| 午夜啪啪免费视频| 日本黄色福利视频| 欧美色图色综合| 精品无码一区二区三区在线| 每日在线观看av| 欧美又粗又长又爽做受| 超碰在线97免费| 久久综合色视频| 国产在线视频综合| 亚洲视频在线观看一区二区三区| 色一情一区二区三区| www欧美激情| 天堂一区在线观看| 黄色av免费在线播放| 亚洲国产精品毛片av不卡在线| av在线观看地址| 国产精品69久久久| 自慰无码一区二区三区| 国产女大学生av| 天天干在线影院| 亚洲精品偷拍视频| 800av在线免费观看| 狠狠干 狠狠操| 国产无套粉嫩白浆内谢的出处| 欧美三级理论片| 成年人在线看片| 妞干网在线免费视频| www.日本一区| 成人综合视频在线| 91香蕉视频在线观看视频| 欧美日韩午夜爽爽| 免费看涩涩视频| 99热久久这里只有精品| 日韩视频在线观看一区二区三区| 久久男人资源站| www.超碰com| 精品国产免费av| 日本aa在线观看| 57pao国产成永久免费视频| 秋霞无码一区二区| 秋霞在线一区二区| 欧美伦理片在线观看| 免费看的黄色大片| av天堂永久资源网| 国产极品美女高潮无套久久久| 春日野结衣av| 日本在线观看a| 免费黄色福利视频| 久久久国产欧美| 国内av免费观看| 妞干网视频在线观看| 黄页网站大全在线观看|