999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

網(wǎng)絡(luò)蜘蛛技術(shù)在校園門(mén)戶網(wǎng)站中的設(shè)計(jì)與研究

2012-12-31 00:00:00

摘要:本文主要對(duì)當(dāng)今較為流行的網(wǎng)絡(luò)編程技術(shù)網(wǎng)絡(luò)蜘蛛(web spider),結(jié)合校園網(wǎng)站實(shí)際環(huán)境進(jìn)行一次嘗試與研究。使用C#語(yǔ)言進(jìn)行設(shè)計(jì)與開(kāi)發(fā),在實(shí)際開(kāi)發(fā)設(shè)計(jì)中通過(guò)解決其各類(lèi)難題,進(jìn)一步掌握其設(shè)計(jì)難點(diǎn)與要領(lǐng),并對(duì)該技術(shù)有了進(jìn)一步了解。

關(guān)鍵詞:網(wǎng)絡(luò)蜘蛛(web spider) 校園門(mén)戶 多線程

中圖分類(lèi)號(hào):P209 文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1674-098X(2012)3(c)-0000-00

在互聯(lián)網(wǎng)高速發(fā)展的今天,互聯(lián)網(wǎng)已經(jīng)走進(jìn)了千家萬(wàn)戶,網(wǎng)絡(luò)上充斥著各種信息。如何高效、準(zhǔn)確的獲取我們所需要的信息,成為我們?cè)絹?lái)越關(guān)心的問(wèn)題。搜索引擎是解決這一問(wèn)題的主要方法。搜索引擎通過(guò)一定的策略在網(wǎng)絡(luò)中搜集信息,并完成對(duì)信息的提取和組織工作,最終為用戶提供信息信息檢索服務(wù)。搜索引擎主要包含三部分功能,信息采集、信息分類(lèi)、信息檢索。其中信息采集又叫網(wǎng)絡(luò)蜘蛛(web Spider),主要用來(lái)獲取網(wǎng)絡(luò)上的信息內(nèi)容。搜索引擎中的所有數(shù)據(jù)都是通過(guò)它來(lái)獲得的。

在校園門(mén)戶網(wǎng)站中也會(huì)用到網(wǎng)絡(luò)蜘蛛技術(shù)。與搜素引擎不同,校園門(mén)戶網(wǎng)站中的網(wǎng)絡(luò)蜘蛛所選取信息的范圍僅限定在本局域網(wǎng)內(nèi)部。信息量相對(duì)較少。通過(guò)網(wǎng)絡(luò)爬蟲(chóng)技術(shù),學(xué)校門(mén)戶網(wǎng)站可以實(shí)現(xiàn)網(wǎng)絡(luò)動(dòng)態(tài)監(jiān)視,對(duì)網(wǎng)絡(luò)中的不良信息進(jìn)行及時(shí)篩查。也可以建立學(xué)校內(nèi)部的網(wǎng)絡(luò)智能搜索引擎,或是校內(nèi)網(wǎng)絡(luò)雷達(dá)。而這些都要依靠校園門(mén)戶網(wǎng)站的網(wǎng)絡(luò)蜘蛛技術(shù)。

1 網(wǎng)絡(luò)蜘蛛的搜索策略及c#開(kāi)發(fā)環(huán)境介紹

1.1 通用的網(wǎng)絡(luò)蜘蛛爬行策略主要有兩種方式:

(1)深度優(yōu)先策略:深度優(yōu)先就是只考慮連接的層次關(guān)系,將鏈接看成樹(shù)形結(jié)構(gòu),深度優(yōu)先搜索就是先訪問(wèn)鏈接的一個(gè)分支,在回到鏈接樹(shù)的根節(jié)點(diǎn)訪問(wèn)另一個(gè)分支。這種方式有點(diǎn)在于容易設(shè)計(jì)以及可以及時(shí)搜索到某個(gè)鏈接下足夠深度的鏈接,缺點(diǎn)是個(gè)別層次較高的鏈接不能夠及時(shí)被訪問(wèn),甚至訪問(wèn)不到,信息更新不及時(shí)。

(2)寬度優(yōu)先策略:寬度優(yōu)先就是以接近起始點(diǎn)的程度依次擴(kuò)展節(jié)點(diǎn)的逐層搜索,在對(duì)下一層的任意節(jié)點(diǎn)進(jìn)行搜索之前,必須完成本層的所有節(jié)點(diǎn)。此方法實(shí)現(xiàn)相對(duì)簡(jiǎn)單,缺點(diǎn)在于隨著抓取頁(yè)面逐漸增多,大量的無(wú)關(guān)頁(yè)面被下載,使得算法的效率變低。優(yōu)點(diǎn)在于搜索的頁(yè)面質(zhì)量較高。信息相對(duì)完整。

目前網(wǎng)絡(luò)蜘蛛技術(shù)中通常采用寬度優(yōu)先策略,從一個(gè)局部中盡可能得到多的頁(yè)面。多數(shù)搜索引擎都采用寬度搜索技術(shù),主要解決數(shù)據(jù)采集的及時(shí)性,和完整性問(wèn)題。但信息采集量不能太多,否則將會(huì)影響采集效率。

1.2 C#開(kāi)發(fā)環(huán)境

C#是微軟發(fā)布的開(kāi)發(fā)平臺(tái).NET中的旗艦,是一種優(yōu)秀的編程語(yǔ)言,c#2.0開(kāi)發(fā)環(huán)境中集成了多線程并發(fā)訪問(wèn)及http頁(yè)面抓取技術(shù)。因此使我們網(wǎng)頁(yè)爬蟲(chóng)技術(shù)可以使用c#語(yǔ)言進(jìn)行開(kāi)發(fā)。需要使用到System.Threading包,和System.Net包。

2 設(shè)計(jì)與實(shí)現(xiàn)

2.1 網(wǎng)絡(luò)蜘蛛工作流程

首次運(yùn)行蜘蛛程序需要根據(jù)起始網(wǎng)頁(yè),分析頁(yè)面的源文件,將頁(yè)面路徑(URL)放入隊(duì)列,把已處理過(guò)的頁(yè)面放入已完成隊(duì)列中。而后工作線程從待提取隊(duì)列中提取出新的URL進(jìn)行分析。依次循環(huán)。

若系統(tǒng)不是首次運(yùn)行,系統(tǒng)不用指定起始頁(yè)面,只需讀取保存在文本中的信息,然后繼續(xù)上次提取操作,從待抓取列表中取出連接繼續(xù)執(zhí)行。

2.2 網(wǎng)頁(yè)消重

網(wǎng)絡(luò)爬蟲(chóng)的爬行策略中的寬度優(yōu)先策略是目前普遍采取的一種網(wǎng)頁(yè)檢索策略,優(yōu)點(diǎn)是頁(yè)面檢索質(zhì)量較高,但其弊端就是頁(yè)面重復(fù)檢索較多。如果信息檢索范圍加大,將嚴(yán)重影響信息的檢索效率。重復(fù)的頁(yè)面不僅浪費(fèi)時(shí)間,而且會(huì)擠占磁盤(pán)空間。

目前較為流行的做法是使用布隆過(guò)濾器的方法來(lái)對(duì)網(wǎng)頁(yè)鏈接進(jìn)行消重。在網(wǎng)絡(luò)蜘蛛系統(tǒng)中,一個(gè)地址是否被訪問(wèn)過(guò),最直接的方法就是將集合中全部的元素存在計(jì)算機(jī)中,當(dāng)進(jìn)入一個(gè)新元素時(shí),將它與其他元素進(jìn)行比較,優(yōu)點(diǎn)是十分準(zhǔn)確,缺點(diǎn)是時(shí)間較長(zhǎng)。布隆過(guò)濾器一般用于大數(shù)據(jù)量的集合中判斷元素是否存在,其核心思想就是使用一個(gè)hash函數(shù)將一個(gè)url地址映射到位圖數(shù)組中某一位,如果該位已經(jīng)存在則為1,表示該url已被占。

哈希算法如下:

private void CreateHashes(string str)

{

int hash1 = str.GetHashCode();

int hash2 = HashString(str);

hashKeys[0] = Math.Abs(hash1 % hashbits.Count);

if (numKeys > 1)

{

for (int i = 1; i < numKeys; i++)

{

hashKeys[i] = Math.Abs((hash1 + (i * hash2))

% hashbits.Count);

}

}

}

2.3 html解析

Html解析器是用來(lái)分析蜘蛛程序遇到的每一個(gè)頁(yè)面,提取其中的鏈接信息,是頁(yè)面下載的前提。解析器的作用是識(shí)別HTML語(yǔ)言的各種標(biāo)記。具體代碼如下:

public string GetPageSource(string url)

{

Uri uri = new Uri(url);

HttpWebRequest MyReq = (HttpWebRequest)WebRequest.Create(uri);

HttpWebResponse MyRes = (HttpWebResponse)MyReq.GetResponse();

MyReq.Method = \"Post\";

MyReq.KeepAlive = 1;

StreamReader reader = new StreamReader(MyRes.GetResponseStream(), System.Text.Encoding.GetEncoding(\"GB2312\"));

return reader.ReadToEnd();

}

上述代碼的主要作用是獲取頁(yè)面的HTML代碼,并將其轉(zhuǎn)化成字符串輸出。

2.4 多線程

多線程技術(shù)主要作用是同時(shí)開(kāi)動(dòng)多個(gè)線程一起工作,共同采集網(wǎng)絡(luò)中的數(shù)據(jù)信息。提高信息采集的效率。多線程的工作問(wèn)題的難點(diǎn)就是線程結(jié)束是很難判斷。因?yàn)樗偸窃诓檎倚碌逆溄樱虼讼到y(tǒng)容易進(jìn)入死循環(huán)狀態(tài)。解決方法如下所示:

string url = \"\";

int times = 0;

while ( url == \"\" ) //要是沒(méi)有找到符合條件的記錄,則不斷地尋覓符合條件的記錄

{

url = getUrl.GetAUrl( …… ); //調(diào)用GetAUrl方法,試圖得到一個(gè)url值

if ( url == \"\" ) //要是沒(méi)有找到

{

times ++;//嘗試次數(shù)自增

continue; //進(jìn)行下一次嘗試

}

if ( times > N ) //要是已經(jīng)嘗試夠了次數(shù),則退出進(jìn)程

{

downloadThread[i].Abort; //退出進(jìn)程

}

else//如果沒(méi)有嘗試夠次數(shù)

{

Times = 0; //嘗試次數(shù)歸零處理

}

//進(jìn)行下一步針對(duì)得到的Url的處理

}

3 結(jié)語(yǔ)

本文主要真對(duì)在校園網(wǎng)站中建設(shè)網(wǎng)絡(luò)蜘蛛系統(tǒng),原理結(jié)構(gòu)均相對(duì)簡(jiǎn)單,沒(méi)有涉及到信息分類(lèi)檢索等問(wèn)題。因此只對(duì)網(wǎng)絡(luò)爬蟲(chóng)技術(shù)的檢索效率等問(wèn)題進(jìn)行了研究,該系統(tǒng)還有很多方面存在進(jìn)一步研究與探討的空間,如在動(dòng)態(tài)網(wǎng)站的圖片獲取,多線程的重復(fù)采集等問(wèn)題上還有很多地方需要繼續(xù)研究。

參考文獻(xiàn)

[1] 李曉明,閆宏飛,王建民 搜索引擎_原理 技術(shù)與系統(tǒng)[M] 北京科學(xué)出版社,2004.

[2] 李剛,盧炎生 教育網(wǎng) BBS 搜索引擎設(shè)計(jì)與實(shí)現(xiàn)[J] 微計(jì)算機(jī)信息,2006(6).

主站蜘蛛池模板: 大香伊人久久| 狠狠色狠狠综合久久| 午夜福利视频一区| 99re这里只有国产中文精品国产精品| 99久久免费精品特色大片| 国产精品亚洲天堂| 欧美久久网| 亚洲国产欧美目韩成人综合| 欧美第九页| 亚洲AV无码久久天堂| 国产91视频观看| 欧美人在线一区二区三区| 国产福利免费视频| 热九九精品| aa级毛片毛片免费观看久| 亚洲欧美天堂网| 婷婷中文在线| 91亚瑟视频| 99re66精品视频在线观看| 色婷婷成人网| 夜精品a一区二区三区| 国产视频欧美| 日本欧美视频在线观看| 尤物亚洲最大AV无码网站| 亚洲码在线中文在线观看| 色老头综合网| 免费无码网站| 区国产精品搜索视频| 3344在线观看无码| 亚洲娇小与黑人巨大交| 韩国福利一区| 一级毛片免费的| 亚洲一级无毛片无码在线免费视频| 在线日韩日本国产亚洲| 五月婷婷亚洲综合| 色妞永久免费视频| 58av国产精品| 国产激情国语对白普通话| 国产精品99在线观看| 国产丝袜精品| 精品亚洲国产成人AV| 久久国产精品无码hdav| 99精品影院| 精品夜恋影院亚洲欧洲| 91娇喘视频| 伊人久久婷婷| 毛片基地视频| 亚洲大学生视频在线播放| 搞黄网站免费观看| 一级毛片基地| 黄色三级毛片网站| 日韩第九页| 无码'专区第一页| 在线看国产精品| 国产女人18水真多毛片18精品| 国产人人射| 色综合日本| 日韩麻豆小视频| 三级欧美在线| 欧美区一区二区三| 亚洲av无码久久无遮挡| 尤物亚洲最大AV无码网站| 亚洲天堂免费观看| 色首页AV在线| 亚洲二区视频| 国产精品男人的天堂| 国产本道久久一区二区三区| 2021天堂在线亚洲精品专区| 99久久亚洲综合精品TS| 亚洲国产成人自拍| 亚洲日韩精品综合在线一区二区| 国产精品成人观看视频国产| 一区二区三区四区在线| 亚洲小视频网站| 91视频国产高清| 97超碰精品成人国产| 四虎国产永久在线观看| 国产精品极品美女自在线网站| 久久婷婷人人澡人人爱91| 免费午夜无码18禁无码影院| 天天综合网色中文字幕| 99精品视频播放|