摘 要:隨著當前互聯(lián)網技術的發(fā)展,網絡無處不在,博客、網站中充斥著大量的網頁信息,對于這些網頁信息,如何才能被人們通過搜索引擎獲取,這就要得益于網頁搜索的功勞了。以下本篇淺析了在垂直搜索引擎中應用網絡蜘蛛搜索算法的策略。
關鍵詞:垂直搜索引擎;搜索算法;網絡蜘蛛搜索算法
0 引言
隨著我國當前網絡信息技術的發(fā)展,人們對互聯(lián)網搜索引擎的需求有所提升。對于互聯(lián)網其不僅是一個有著海量網頁信息數(shù)據(jù)的載體,也是一個擁有海量有用數(shù)據(jù)資源的倉庫,在垂直搜索引擎中應用網絡蜘蛛算法,有助于有效利用這些網絡中的信息,滿足垂直搜索引擎用戶個性化的搜索服務,發(fā)揮積極影響。
1 網絡蜘蛛搜索算法
在Internet上,“蜘蛛”(Spider)是一種功能強大的網絡搜索程序[1]。網絡蜘蛛搜索算法,需要一個初始鏈接,但在網絡搜索中,蜘蛛算法對于此后的計算運行情況[2],就由蜘蛛算法來決定,在進行網頁搜索中,網絡蜘蛛程序針對一個頁面,可以先去掃描頁面中所包含的鏈接內容,并直接訪問其鏈接頁面信息,根據(jù)網絡蜘蛛搜索算法,分析統(tǒng)計其追蹤頁面中所包含的鏈接信息,經過蜘蛛搜索算法計算后,將最終頁面返回到搜索引擎中。
2 垂直搜索引擎中應用網絡蜘蛛搜索算法的意義
2.1 垂直搜索引擎定義 關于垂直搜索引擎,其在網絡應用中,就是可以指針對某一行業(yè)、某一種類的信息進行專業(yè)搜索服務,其是基于傳統(tǒng)搜索引擎服務的細分和延伸,同時也是對網頁中一類專有信息的整合[3];垂直搜索引擎,可以定向的分字段抽取出網頁中的需求數(shù)據(jù),將數(shù)據(jù)進行處理之后再以某種形式返回給用戶。
2.2 意義分析 對于當前網絡搜索中的垂直搜索,在其實際應用中,不僅搜索結果的信息量大,且具有查詢不準確、深度不夠的問題;故此,可以在其設計中應用網絡蜘蛛搜索算法,可以使得垂直搜索系統(tǒng)盡可能多的去抓取同特定主題有相關內容的網頁,同時,也最大限度減少對無關網頁內容的抓取,以便能夠有序化搜索海量信息,使垂直搜索引擎性能得到提升。
3 垂直搜索引擎中應用網絡蜘蛛搜索算法的策略
針對垂直搜索引擎中,應用網絡搜索算法,可以發(fā)揮引擎搜索能力,產生積極影響。以針對垂直搜索引擎實例,分析在實際中應用網絡蜘蛛搜索算法的策略。
3.1 解析 HTML "在網絡蜘蛛搜索算法,運用C#語言,首先,可以創(chuàng)建垂直搜索實例,將搜索類中函數(shù)Source的屬性設置成為可以解析的HTML頁面信息,其表示如下:
Parse HTML parse= New Parse HTML ( ) ; // 選定頁面
Parse.Source = \" Hello !Hello!\" ; // 解析頁面的內容
并且在解析之后,可利用While循環(huán)的方式,去依次檢查HTML文檔頁面之中所包含的文本以及其標記信息。
While ( ! parse. Eof( ) ){
char ch = parse.Parse ( )
} ;
并注意在循環(huán)結束后,可返回在HTML文檔中包含的字符對象。在實際垂直搜索引擎中,網絡蜘蛛搜索算法就是要借助C#索引功能找出各個HREF屬性。例如:
Attribute HreF = Tag [ \"HREF\" ] ; "http:// 屬性
String link = Href .Value ; "http:// 屬性對象獲取
在該算法中,當獲得Attribute對象后,應用Attribute.Value命令,獲得這個屬性所代表的值。
3.2 優(yōu)化HTML頁面垂直搜索引擎信息 在網絡蜘蛛搜索算法中,通過C#提供的HttpWebRequest類先下載HTML頁面,從request創(chuàng)建一個stream流。假設針對HTML頁面文件進行搜索,那么此時頁面已經被下載并保存在一個字符串內,通過這個字符串,就可以解析出HTML網頁中的鏈接信息,并且還可以將HTML頁面信息保存到磁盤中,用以分析頁面內容。
3.3 執(zhí)行垂直搜索引擎命令 對于垂直搜索引擎中,應用網絡蜘蛛搜索算法,就可以運用run()函數(shù)方法,使該方法執(zhí)行獨立搜索的線程。在進行垂直搜索的過程中,也可以先去判斷對于入口站點中的信息,分析其是由Web引用還是外部頁面,然后,就可以確認出入口站點的代表符號,運行重置網頁統(tǒng)計計算,并同時調用searchWeb()函數(shù),進行頁面信息搜索:
Public void run (){
Default TreeModel "treeModel= ( DefaultTreeModel) searchTree.getModel () ;
String "urllc = startSite .ToLower Case (); // 設置字符串
If
( !urllc. startsWith (\"http: //……\") "http:// 網址信息算法比較
{{ startSite = \"http:// ……\" + startSite; // Tack on http:// ……}
Public "static "String fixHref ( String href)
{ String newhref = href.replace('\\', '/');
if( lastslash gt; lastdot)
{if(newhref .charAt(newhref.length()-1) != '/')newhref = newhref+\"/\"; }
Return "Newhre; "http://返回結果
}
使用網絡蜘蛛搜索算法,跟蹤記錄垂直搜索引擎進展以及其訪問過的站點,應用網絡蜘蛛搜索算法,可以提高垂直搜索引擎對網頁抓取的準確率,改進了網頁搜索待爬行隊列URL優(yōu)先權值,使垂直搜索引擎搜索性能得到提升,滿足網絡搜索用戶的需求。
4 結論
綜上所述,在垂直搜索引擎中應用網絡蜘蛛搜索算法,可以更好的控制用戶網頁界面,通過跟蹤蜘蛛記錄訪問過站點,可以有效顯示出網頁搜索進展,不僅可以提升搜索引擎搜索能力,也發(fā)了揮實際應用價值。
參考文獻:
[1]張曉龍.網絡蜘蛛垂直搜索算法的改進與實現(xiàn)[D].哈爾濱工程大學,2008.
[2]劉相琴,孟繁疆.大豆垂直搜索引擎的研究與設計[J].農機化研究,2013(5):200-203.
[3]王靜,劉偉峰,汪偉,等.面向旅游信息的垂直搜索引擎的設計與實現(xiàn)[J].信息系統(tǒng)工程,2014(3):29-31.