搜索引擎爬蟲

搜索引擎爬蟲

ID:36236899

大小:179.87 KB

頁數(shù):5頁

時間:2019-05-07

搜索引擎爬蟲_第1頁
搜索引擎爬蟲_第2頁
搜索引擎爬蟲_第3頁
搜索引擎爬蟲_第4頁
搜索引擎爬蟲_第5頁
資源描述:

《搜索引擎爬蟲》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學術(shù)論文-天天文庫

1、概要設(shè)計與算法思想闡述總流程圖圖3-1總流程圖算法思想闡述爬蟲的廣度優(yōu)先遍歷存儲結(jié)構(gòu):存放URL的隊列算法思想:廣度優(yōu)先搜索策略是指在抓取過程中,在完成當前層次的搜索后,才進行下一層次的搜索。該算法的設(shè)計和實現(xiàn)相對簡單。為覆蓋盡可能多的網(wǎng)頁,一般使用廣度優(yōu)先搜索方法。將廣度優(yōu)先搜索策略應用于聚焦爬蟲中。其基本思想是認為與初始URL在一定鏈接距離內(nèi)的網(wǎng)頁具有主題相關(guān)性的概率很大。另外一種方法是將廣度優(yōu)先搜索與網(wǎng)頁過濾技術(shù)結(jié)合使用,先用廣度優(yōu)先策略抓取網(wǎng)頁,再將其中無關(guān)的網(wǎng)頁過濾掉。URL隊列的操作模塊算法分析:利用數(shù)據(jù)結(jié)構(gòu)中的采用數(shù)組實現(xiàn)

2、的存放URL的隊列,根據(jù)隊列的相關(guān)操作:判斷隊列是否為空,判斷隊列是否已滿,當前URL是否已添加,向隊尾添加一個URL,從對頭取出一個URL等等,以及相關(guān)線程的操作實現(xiàn)所要求功能。由于本程序是多線程下載,這就要求當其中一個線程在對公共區(qū)域進行操作時先將此區(qū)域鎖定防止其他線程進行同樣的操作,在操作完畢后在進行解鎖。查找模塊算法分析通過在加入隊列時通過哈希表的查找當前URL是否已經(jīng)存在于隊列中來判斷當前URL是否已經(jīng)存在。詳細設(shè)計與算法分析廣度優(yōu)先遍歷模塊功能在完成當前層次的搜索后,才進行下一層次的搜索。流程圖開始獲取起始URL提取網(wǎng)頁中所有

3、的鏈接否將提取的鏈接存入隊列中隊列是否為空是結(jié)束存儲結(jié)構(gòu)與算法分析存儲結(jié)構(gòu):存放URL的隊列。算法分析:廣度優(yōu)先搜索策略是指在抓取過程中,在完成當前層次的搜索后,才進行下一層次的搜索。該算法的設(shè)計和實現(xiàn)相對簡單。也有很多研究將廣度優(yōu)先搜索策略應用于聚焦爬蟲中。核心分析:voidMainThread::Run(CString&str_Begin){//向共享數(shù)據(jù)區(qū)URL隊列加入根URLm_DownData.AddURL(str_Begin);//訪問根URLif(m_DownData.AddThread()){AfxBeginThread(

4、DownloadFile,this);}//依次啟動工作者線程,根據(jù)共享數(shù)據(jù)區(qū)URL隊列依次到指定URL下載while(!m_bDone&&!(m_DownData.IsEmpty()&&m_DownData.GetCurThread()==0)){Sleep(100);//判斷全局變量ThreadPause,是否暫停線程if(ThreadPause)continue;if(m_DownData.AddThread()){AfxBeginThread(DownloadFile,this);}}Sleep(1000);AfxMessageB

5、ox(_T("任務(wù)完成!"));ExitInstance();}Run函數(shù)是多個線程的管理程序,當隊列為空時退出程序。

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。