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

淺談網絡爬蟲設計

2019-03-20 05:18:14雷才峰田仁杰王建鋒
西部論叢 2019年10期
關鍵詞:搜索引擎信息系統

雷才峰 田仁杰 王建鋒

摘 要:網絡爬蟲(又被稱為網頁蜘蛛,網絡機器人,在FOFA社區中間,更經常被稱為網頁追逐者)是一種按照一定的規則,自動的抓取萬維網信息的程序或者腳本。本文從網絡爬蟲的介紹出發, 闡述了網絡爬蟲的搜索策略以及相關算法,包括頁面解析,重復鏈接分析,以及多線程等等

關鍵詞:搜索引擎 網絡爬蟲

一、引言

隨著信息時代的到來,網絡飛速發展,規模無限擴大,信息量呈爆炸式的增長。網絡給人們帶來了豐富和動態的網絡信息,但是因為Internet上的信息是極其分散,無序,毫無規則。所以很難被利用。因此如何在 Internet 這個巨大的信息海洋中快速并且準確的找到有用的信息,是 Internet 用戶的所共同面對的難題。而網絡搜索引擎的出現則解決了這一困難,加強了Internet用戶定位和收集網絡信息的能力,引擎通過收集眾多網絡站點上的網絡信息來為幫助用戶更方便的尋找所需信息。而在整個搜索引擎中,網絡爬蟲起著重要的作用,它是整個搜索引擎的數據來源,爬蟲設計的好壞直接決定著整個引擎系統的內容是否豐富,信息能否得到及時的更新。

二、網絡爬蟲的種類

幾年來隨著對網絡爬蟲的不斷研究與探索,備種各樣的爬蟲層出不窮。現在常見的優秀網給爬蟲有:批量型網絡爬蟲、增量型網絡爬蟲、通用網絡爬蟲、垂直網絡爬蟲、聚焦網絡爬蟲。這幾種爬蟲功能不一,使用的領域也不同。比如谷歌、百度等大型搜索引擎都是非常典型的增量型網絡爬蟲,可以提供非常大量的數據。而如淘寶、蘇寧易購等店鋪進行爬取就需要用到批量型網絡爬蟲,它們經常會對各種內容設限或屏蔽防止外來的爬取。

三、網絡爬蟲的基本原理

網絡爬蟲是一個自動提取網頁的程序,它為搜索引擎從Internet 上下載網頁,是搜索引擎的重要組成。爬蟲從一個或若干初始網頁的URL開始,通過分析該URL的源文件,提取出新的網頁鏈接,繼而通過這些鏈接繼續尋找新的鏈接,這樣一直循環下去,直到抓取并分析完所有的網頁為止。當然這是理想狀態下爬蟲的執行過程,但是實際上要抓取Internet上所有的網頁是不可能完成的。從目前公布的數據來看,最好的搜索引擎也只不過抓取了整個 Internet40%的網頁。這有兩個原因,其一是網絡爬蟲設計時的抓取技術瓶頸造成的,無法遍歷所有的網頁,很多網頁鏈接不能從其他網頁中得到。其二是存儲技術和處理技術造成的,如果按照每個頁面的平均的大小是 20K,那么 100 億個頁面的大小就是200000G,對于現在的存儲技術來說是個挑戰。

四、 網絡爬蟲的爬行策略

網絡爬蟲的爬行策略可以分成深度優先和廣度優先。

(一)深度優先策略:其本質就是將網頁鏈接按照深度由低到高的順序依次進行爬取直到最底層為止。通俗點講就是“一條道走到黑”,當一條路完全走完后再去返回來去走另條道。這種策略作為早期最為流行的算法比較適合于垂直搜索等需要深度搜索的引擎,但又因為往往會爬取的過深會而耗時耗力產生大量的浪費。

(二)廣度優先策略:廣度優先策略又被稱為寬度優先策略。其原理就是從個初始點出發,將所有檢測到的路徑全部都訪間一遍,每當全部路徑都訪問結束卻沒有發現目標時,那么就會把所有走兩步可以到達的位置全部訪問一遍。如果任然沒有發現目標,就以此類推將所有走三步可以達到的位置全部訪問一遍。這種方法聽起來非常的笨,而且極為的耗時,但可以保證一定能找到一條最短路徑。

五、爬蟲的具體實現

(一)基本流程。

如果是第一次運行,爬蟲根據編碼過程中給定的起始網頁,開始分析網頁源文件,把分析出來的鏈接放進待爬取隊列,把已經處理過的原始網頁放進已爬行隊列,并根據網頁鏈接在哈希表中添加一個新元素,然后各個工作線程從待爬行

隊列中取出鏈接繼續分析,提取鏈接,把提取出的新鏈接與哈希表中已存在的元素進行對比,如果已在哈希表中存在,則放棄該鏈接,如果不存在,則在哈希表中生成一個新元素,并且把該鏈接放入待爬行隊列,然后工作線程繼續取出鏈接進行爬行這樣一直循環下去,直到滿足系統停止條件,如果系統運行期間人為的關閉了系統,則系統會自動在關閉時把相關記錄保存到文本文件中。如果系統不是第一次運行,則在啟動系統后,系統不是分析編碼過程中指定的起始網頁,而是先讀取保存在文本文件中的信息,然后生成和上一次運行時同樣的哈希表,待爬行隊列,已爬行隊列,然后從待爬行對列中取出鏈接執行。

(二)爬蟲主要數據結構。

1. CHashTable類:這個類根據一定的算法為每一個鏈接(鏈接對應的網址)生成一個唯一對應的數字,然后把這個數字作為該鏈接在哈希表中的位置,并把該位置的值設置為 1,表示該位置已經有一個鏈接對應了。當有新的鏈接要放入哈希表中時,則只需檢查新鏈接所對應的哈希表中的位置的值,如果為 0 則表示該鏈接以前未出現,如果為 1則表示是重復鏈接,不需要處理了。

2. CURLParse類:該類主要負責得到鏈接的源文件,并從中提取出源文件中的所有鏈接,然后把不重復的鏈接放入到待爬行隊列中去,供工作線程使用。在提取源文件鏈接的過程中,本系統沒有使用正則表達式,而是直接利用 CString 類來尋找鏈接,個人覺得這樣操作的準確性更高。由于提取出來的鏈接很多都不完整,而是相對路徑,因此,還需要對此類鏈接進行一些操作,使其變成完整路徑后才能放入待爬行隊列。

3.CURLQueue 類:該類用來存儲待爬行鏈接和已爬行鏈接,并提供了一些可以操作隊列的接口以及一些返回隊列相關信息的接口。

4. URLStruct 結構體:該結構體用來控制系統的執行層級。如果某個鏈接的層級為 1,則由它分析出的鏈接的層級為 2。當鏈接的層級大于系統設定的層級時,就不對此鏈接做任何處理,既不從該鏈接中提取新的鏈接。

五、系統運行

操作系統Windows7及以上。但是根據實際使用情況,建議使用Windows10。因為Windows10做為目前主流的操作系統具有更好的服務器性能、更強的安全性、更輕的管理工作負擔。

參考文獻

[1] 孟時,王彥,larbin網絡爬蟲的體系結構[J]. 電腦學習,2010

[2] 高波,Linux網絡編程[M]. 程序設計2000

[3] 王芳,陳海建 深入解析Web主題爬蟲的關鍵性原理[J]. 微型電腦應用,2011

猜你喜歡
搜索引擎信息系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
網絡搜索引擎亟待規范
中國衛生(2015年12期)2015-11-10 05:13:38
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
基于Nutch的醫療搜索引擎的研究與開發
廣告主與搜索引擎的雙向博弈分析
搜索,也要“深搜熟濾”
主站蜘蛛池模板: 欧美一级视频免费| 亚洲女同一区二区| 91色在线视频| 国产乱论视频| 国产一区成人| 伊大人香蕉久久网欧美| 国产一区成人| 欧美成人午夜视频| 自慰网址在线观看| 日本AⅤ精品一区二区三区日| 呦女精品网站| 日韩最新中文字幕| 国产精品女同一区三区五区| 久久精品波多野结衣| 国产区91| 欧美视频二区| 免费人欧美成又黄又爽的视频| 激情五月婷婷综合网| 成人伊人色一区二区三区| 亚洲色图欧美| 国产精品偷伦视频免费观看国产 | 精品久久777| 欧美成人午夜视频免看| 午夜小视频在线| 日韩欧美中文字幕一本| 久久精品国产999大香线焦| 亚洲精品成人片在线观看| 久久人妻xunleige无码| 美女高潮全身流白浆福利区| 国产三级韩国三级理| 亚洲欧美在线综合图区| 日韩AV手机在线观看蜜芽| 成人午夜天| 亚洲国产成人综合精品2020 | 女高中生自慰污污网站| 中日韩一区二区三区中文免费视频 | 日本欧美中文字幕精品亚洲| 67194成是人免费无码| 一本一道波多野结衣一区二区| 国产丝袜91| 久久美女精品| 伊人久久婷婷五月综合97色| 国产成人亚洲精品蜜芽影院| 久久精品丝袜| 91年精品国产福利线观看久久| 亚洲中文字幕在线精品一区| 成人一级黄色毛片| 亚洲无码91视频| 国产精品香蕉在线观看不卡| 美女被操黄色视频网站| 99热这里只有精品免费国产| 精品人妻系列无码专区久久| 成人国产免费| 91网址在线播放| 亚洲欧美在线看片AI| 第一页亚洲| 亚洲精品另类| 日韩精品成人在线| 日本91视频| 曰韩人妻一区二区三区| 免费无码一区二区| 天天综合天天综合| 国产精欧美一区二区三区| 最新亚洲人成网站在线观看| 日韩欧美高清视频| 91精品视频网站| 精品久久香蕉国产线看观看gif| 久久a毛片| 国产高清在线观看91精品| 亚洲av日韩综合一区尤物| 毛片久久网站小视频| 免费可以看的无遮挡av无码| 精品国产香蕉在线播出| 国产尤物视频网址导航| 亚洲人在线| 欧美日韩亚洲综合在线观看| 污视频日本| 国产va在线观看| 国产视频入口| 国产精品第5页| 久久国产精品娇妻素人| 国产亚洲精品yxsp|