• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      網(wǎng)絡(luò)爬蟲

      2009-08-25 09:37:50楊松梅
      新媒體研究 2009年15期
      關(guān)鍵詞:網(wǎng)絡(luò)爬蟲搜索引擎

      [摘要]隨著互聯(lián)網(wǎng)和寬帶上網(wǎng)的普及,搜索引擎在中國(guó)異軍突起,并日益滲透到人們的日常生活中。在互聯(lián)網(wǎng)普及之前,人們查閱資料首先想到的是擁有大量書籍資料的圖書館,但是今天很多人都會(huì)選擇一種更方便、快捷、全面、準(zhǔn)確的查閱方式互聯(lián)網(wǎng)。但是搜索引擎也得有一個(gè)自己的‘書庫,這個(gè)‘書庫是如何獲得的呢?那就需要網(wǎng)絡(luò)爬蟲了,它可以從互聯(lián)網(wǎng)上搜取各式各樣的信息,組成搜索引擎的資料庫,以便用戶查詢。

      [關(guān)鍵詞]搜索引擎,網(wǎng)絡(luò)爬蟲,信息抓取

      中圖分類號(hào):TP-9文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671-7597(2009)0810066-01

      互聯(lián)網(wǎng)搜索引擎通常由5個(gè)主要環(huán)節(jié)構(gòu)成。系統(tǒng)主要模塊包括網(wǎng)頁信息抓取、網(wǎng)頁內(nèi)容分析、網(wǎng)頁索引建立、網(wǎng)頁結(jié)果排序、網(wǎng)頁搜索工具與接口。主要功能模塊結(jié)合其他中文信息處理和信息檢索技術(shù),完成整個(gè)網(wǎng)頁搜索引擎。其中網(wǎng)絡(luò)信息抓取需要網(wǎng)絡(luò)爬蟲來完成,網(wǎng)絡(luò)爬蟲在搜索引擎中起著至關(guān)重要的作用,它是搜索引擎信息來源的核心。

      網(wǎng)絡(luò)爬蟲功能需求主要是完成信息抓取,其他功能設(shè)計(jì)都圍繞信息抓取這個(gè)核心功能進(jìn)行。網(wǎng)絡(luò)爬蟲的設(shè)計(jì)開發(fā)總體上包括5方面任務(wù)要求。具體的內(nèi)容描述如下:

      1.網(wǎng)絡(luò)爬蟲具有可配置性。它需要?jiǎng)討B(tài)配置信息,設(shè)定待抓取URL地址列表、抓取深度和層次范圍。網(wǎng)絡(luò)爬蟲需要行為控制信息,包括抓取使用的線程或進(jìn)程情況、時(shí)間間隔和更新周期。

      2.新網(wǎng)站和新鏈接的發(fā)現(xiàn)能力。網(wǎng)絡(luò)爬蟲需要簡(jiǎn)單分析下載的頁面,提取包含的新URL。新增加的URL增加到等待下載隊(duì)列,保證網(wǎng)絡(luò)爬蟲的自我資源發(fā)現(xiàn)能力。

      3.下載頁面的存儲(chǔ)和管理。網(wǎng)絡(luò)爬蟲存儲(chǔ)下載的網(wǎng)頁內(nèi)容,為網(wǎng)頁分析和索引提供數(shù)據(jù)。海量搜索引擎下載的文檔數(shù)量驚人,需要合理的管理策略。存儲(chǔ)的高效和可靠性至關(guān)重要,需要考慮分布式存儲(chǔ)策略。

      4.高效的網(wǎng)頁更新、死鎖判別方法。網(wǎng)絡(luò)爬蟲對(duì)歷史下載的網(wǎng)頁需要定期檢查,判斷頁面內(nèi)容是否更換,確定網(wǎng)頁源是否已經(jīng)被刪除。這部分功能需要網(wǎng)絡(luò)爬蟲通過多線程并發(fā)控制,控制對(duì)同一站點(diǎn)的訪問并發(fā)數(shù)量和檢查周期。

      5.域名解析緩存機(jī)制和已下載內(nèi)容的本地代理緩存。網(wǎng)絡(luò)爬蟲需要經(jīng)常訪問同一個(gè)域名下的網(wǎng)頁內(nèi)容。域名解析內(nèi)容緩存能存儲(chǔ)域名與IP地址的復(fù)雜對(duì)應(yīng)關(guān)系,減少域名查詢次數(shù),大大提高網(wǎng)絡(luò)利用率。本地下載代理內(nèi)容可以避免重復(fù)下載減少一定時(shí)期內(nèi)對(duì)目標(biāo)站點(diǎn)的多次下載。

      從結(jié)構(gòu)上來看,互聯(lián)網(wǎng)其實(shí)就是一張大型的網(wǎng)絡(luò)圖。搜索引擎中可以把每一個(gè)網(wǎng)頁作為一個(gè)節(jié)點(diǎn),把網(wǎng)頁內(nèi)的超鏈接當(dāng)作連接網(wǎng)頁的弧。搜索引擎在進(jìn)行信息抓取時(shí),可以按照?qǐng)D論的相關(guān)算法進(jìn)行處理。網(wǎng)絡(luò)爬蟲從某個(gè)網(wǎng)站的首頁進(jìn)入,按照?qǐng)D論的相關(guān)遍歷算法就可以訪問這個(gè)網(wǎng)站的所有信息。

      為了實(shí)現(xiàn)網(wǎng)絡(luò)爬蟲,需要對(duì)HTTP協(xié)議有所了解。HTTP協(xié)議是用于從互聯(lián)網(wǎng)WWW服務(wù)器傳送超文本到本地瀏覽器的傳送協(xié)議。協(xié)議的目標(biāo)是使瀏覽器更加高效,提高網(wǎng)絡(luò)傳輸效率。HTTP協(xié)議不僅可以正確、快速的傳輸超文本文檔,還可以確定傳輸文檔中的哪一部分首先顯示。

      為了更快的實(shí)現(xiàn)抓取,可以采用封裝的HTTP協(xié)議API,也可以采用最基本的Socket通信編程模式。Socket就是所謂的網(wǎng)絡(luò)套接字。

      互聯(lián)網(wǎng)上分布著大量網(wǎng)頁,不同網(wǎng)頁的訪問速度差別比較大。網(wǎng)頁下載過程中的網(wǎng)絡(luò)延遲成為整個(gè)系統(tǒng)性能的瓶頸。為了提高效率,網(wǎng)絡(luò)爬蟲被設(shè)計(jì)成隊(duì)列緩沖、多線程并行結(jié)構(gòu)。網(wǎng)絡(luò)爬蟲具有3大模塊:HTTP下載模塊、鏈接分析模塊、和下載控制模塊。3大模塊有機(jī)的組成一個(gè)高效的功能體系。各模塊的作用如下:

      ·HTTP下載模塊利用HTTP網(wǎng)絡(luò)協(xié)議下載,獲取并存儲(chǔ)網(wǎng)頁內(nèi)容。

      ·鏈接分析模塊能夠提取網(wǎng)頁內(nèi)的超鏈接用來獲取后續(xù)網(wǎng)頁入口。

      ·下載控制模塊控制網(wǎng)頁訪問次序、更新策略、訪問隊(duì)列調(diào)度等工作。

      網(wǎng)絡(luò)爬蟲訪問一個(gè)網(wǎng)站,需要從已知的入口頁面開始。這個(gè)入口頁面往往是網(wǎng)站的首頁或者sitemap頁面。從這個(gè)頁面通過鏈接分析,尋找并訪問后續(xù)頁面地址。

      互聯(lián)網(wǎng)的鏈接結(jié)構(gòu)是一個(gè)典型的網(wǎng)狀結(jié)構(gòu)。在這個(gè)訪問過程中需要遵循一系列的算法。通常,網(wǎng)絡(luò)爬蟲對(duì)網(wǎng)站的訪問有訪問深度限制,一般在3~5層。遍歷策略多用數(shù)據(jù)結(jié)構(gòu)中典型的算法:廣度優(yōu)先和深度優(yōu)先。

      從應(yīng)用角度來看,廣度優(yōu)先能盡快地比較平均的獲取不同網(wǎng)站的內(nèi)容,比較適合于大型搜索系統(tǒng)初期網(wǎng)頁庫的建立;深度優(yōu)先在設(shè)計(jì)的時(shí)候比較容易,對(duì)垂直搜索或者站內(nèi)搜索比較合適。

      Java提供了多個(gè)訪問各種標(biāo)準(zhǔn)Internet的協(xié)議類庫,網(wǎng)絡(luò)爬蟲可以直接用Java的網(wǎng)絡(luò)開發(fā)包java.net.*函數(shù)調(diào)用來完成。

      網(wǎng)絡(luò)爬蟲的設(shè)計(jì)思路是先確定需要下載的網(wǎng)頁URL,指定通信端口,創(chuàng)建一個(gè)用于網(wǎng)絡(luò)通信的Socket對(duì)象。結(jié)果通過流失輸出接口輸出,創(chuàng)建相應(yīng)的輸出對(duì)象。通過輸入接口,向Socket對(duì)象傳入HTTP下載請(qǐng)求。遠(yuǎn)端的目標(biāo)Web服務(wù)器得到請(qǐng)求后,發(fā)送應(yīng)答消息。本地Socket對(duì)象收到消息后緩存并輸出,就完成了整個(gè)網(wǎng)頁下載過程。傳輸過程中使用默認(rèn)的HTTP協(xié)議進(jìn)行。

      網(wǎng)絡(luò)爬蟲的設(shè)計(jì)流程中,核心部分是獲取等待下載的URL列表、創(chuàng)建下載的客戶端、獲取并存儲(chǔ)得到的網(wǎng)頁結(jié)果。

      大型搜索引擎系統(tǒng)需要抓取海量信息數(shù)據(jù)。為了有效的提高網(wǎng)絡(luò)爬蟲的性能和效率,并滿足系統(tǒng)數(shù)據(jù)下載需求,網(wǎng)絡(luò)爬蟲的設(shè)計(jì)通常包含以下一系列優(yōu)化策略和原則:

      ·對(duì)等待下載的URL進(jìn)行重排,避免重復(fù)下載。

      ·增加多個(gè)工作隊(duì)列,提高系統(tǒng)并發(fā)能力。工作隊(duì)列主要有4類:等待隊(duì)列、處理隊(duì)列、成功隊(duì)列、失敗隊(duì)列。

      ·利用網(wǎng)頁proxy緩沖,檢查是否需要從遠(yuǎn)程下載,減少不必要的傳輸。

      ·同一站點(diǎn)的URL盡量映射到同一個(gè)線程處理,避免同時(shí)訪問給被訪問站點(diǎn)帶來負(fù)擔(dān)。

      參考文獻(xiàn):

      [1]盧亮、張博文著,《搜索引擎原理、實(shí)踐與應(yīng)用》,電子工業(yè)出版社,2007,9.

      [2]Jennifer Grappone,Gradiva Couzin著,楊明軍譯,《搜索引擎優(yōu)化》,清華大學(xué)出版社,2007,7.

      [3]李剛、宋偉、邱群著,《Ajax+Lucene構(gòu)建搜索引擎》,人民郵電出版社,2006.

      [4]Margaret H.Dunham著,郭崇惠、田風(fēng)占、靳曉明譯,《數(shù)據(jù)挖掘教程》,清華大學(xué)出版社,2005,5.

      作者簡(jiǎn)介:

      楊松梅(1960-),吉林省四平市人,副教授,就職于長(zhǎng)春市司法局培訓(xùn)中心。

      猜你喜歡
      網(wǎng)絡(luò)爬蟲搜索引擎
      煉鐵廠鐵量網(wǎng)頁數(shù)據(jù)獲取系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      基于社會(huì)網(wǎng)絡(luò)分析的權(quán)威網(wǎng)頁挖掘研究
      主題搜索引擎中網(wǎng)絡(luò)爬蟲的實(shí)現(xiàn)研究
      淺析如何應(yīng)對(duì)網(wǎng)絡(luò)爬蟲流量
      網(wǎng)絡(luò)爬蟲針對(duì)“反爬”網(wǎng)站的爬取策略研究
      網(wǎng)絡(luò)搜索引擎亟待規(guī)范
      Nutch搜索引擎在網(wǎng)絡(luò)輿情管控中的應(yīng)用
      基于Nutch的醫(yī)療搜索引擎的研究與開發(fā)
      廣告主與搜索引擎的雙向博弈分析
      知識(shí)漫畫
      高雄县| 柳河县| 兰州市| 浠水县| 黔西县| 体育| 石渠县| 高安市| 西藏| 南丹县| 临武县| 思茅市| 长武县| 吕梁市| 南昌市| 平舆县| 安康市| 安吉县| 铁岭市| 保德县| 土默特左旗| 宣武区| 郸城县| 越西县| 筠连县| 佳木斯市| 大足县| 多伦县| 南通市| 高平市| 松滋市| 新野县| 甘谷县| 夏邑县| 宁乡县| 开原市| 商河县| 西安市| 松江区| 绥江县| 静海县|