• 
    

    
    

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

      基于聚焦爬蟲的搜索引擎的設(shè)計(jì)與實(shí)現(xiàn)

      2018-09-21 07:08:28趙建華蔣勁松
      系統(tǒng)仿真技術(shù) 2018年3期
      關(guān)鍵詞:爬蟲搜索引擎列表

      趙建華,蔣勁松

      (商洛學(xué)院 數(shù)學(xué)與計(jì)算機(jī)應(yīng)用學(xué)院,陜西 商洛 726000)

      隨著網(wǎng)絡(luò)的迅速發(fā)展,萬(wàn)維網(wǎng)成為大量信息的載體,如何有效地提取并利用這些信息成為一個(gè)巨大的挑戰(zhàn)。搜索引擎[1-2]是指根據(jù)一定的策略、運(yùn)用特定的計(jì)算機(jī)程序從互聯(lián)網(wǎng)上搜集信息,在對(duì)信息進(jìn)行組織和處理后,為用戶提供檢索服務(wù),并將用戶檢索的相關(guān)信息展示給用戶的系統(tǒng)。然而,這些通用性搜索引擎也存在著一定的局限性[3-4],如下所示:

      (1)不同領(lǐng)域、不同背景的用戶往往具有不同的檢索目的和需求,通用搜索引擎所返回的結(jié)果包含大量用戶不關(guān)心的網(wǎng)頁(yè)。

      (2)通用搜索引擎的目標(biāo)是盡可能大的網(wǎng)絡(luò)覆蓋率,有限的搜索引擎服務(wù)器資源與無限的網(wǎng)絡(luò)數(shù)據(jù)資源之間的矛盾將進(jìn)一步加深。

      (3)萬(wàn)維網(wǎng)數(shù)據(jù)形式的豐富以及伴隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,圖片、數(shù)據(jù)庫(kù)、音頻、視頻多媒體等不同數(shù)據(jù)大量出現(xiàn),通用搜索引擎往往對(duì)這些信息含量密集且具有一定結(jié)構(gòu)的數(shù)據(jù)無能為力,不能很好地發(fā)現(xiàn)和獲取。

      (4)通用搜索引擎大多提供基于關(guān)鍵字的檢索,難以支持根據(jù)語(yǔ)義信息提出的查詢。

      為了解決上述問題,定向抓取相關(guān)網(wǎng)頁(yè)資源的聚焦爬蟲應(yīng)運(yùn)而生。聚焦爬蟲是一個(gè)自動(dòng)下載網(wǎng)頁(yè)的程序,它根據(jù)既定的抓取目標(biāo),有選擇地訪問萬(wàn)維網(wǎng)上的網(wǎng)頁(yè)與相關(guān)鏈接,獲取所需要的信息。與通用爬蟲不同,聚焦爬蟲并不追求大的覆蓋,而是將目標(biāo)定為抓取與某一特定主題內(nèi)容相關(guān)的網(wǎng)頁(yè),為面向主題的用戶查詢準(zhǔn)備數(shù)據(jù)資源[5-7]。

      本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于聚焦網(wǎng)絡(luò)爬蟲的搜索引擎。采用Java服務(wù)端網(wǎng)頁(yè)(JSP)技術(shù)來開發(fā)用戶界面,MyEclipse 作為開發(fā)設(shè)計(jì)平臺(tái),Tomcat6.0 作為系統(tǒng)服務(wù)器,MySQL作為系統(tǒng)數(shù)據(jù)庫(kù)。通過聚焦爬蟲獲取網(wǎng)站數(shù)據(jù)并建立索引數(shù)據(jù)庫(kù),為用戶提供一個(gè)方便的信息檢索工具。該引擎可以實(shí)現(xiàn)網(wǎng)站數(shù)據(jù)搜索、關(guān)鍵詞分析等功能。

      1 系統(tǒng)設(shè)計(jì)

      設(shè)置了2個(gè)角色,分別為普通用戶和數(shù)據(jù)庫(kù)管理員。普通用戶可以實(shí)現(xiàn)網(wǎng)頁(yè)搜索、圖片搜索等功能;數(shù)據(jù)庫(kù)管理員可以實(shí)現(xiàn)網(wǎng)絡(luò)爬蟲和數(shù)據(jù)庫(kù)的管理,通過網(wǎng)絡(luò)爬蟲獲取網(wǎng)站數(shù)據(jù)并建立索引數(shù)據(jù)庫(kù)等功能。系統(tǒng)功能模塊如圖1所示。

      圖1 系統(tǒng)功能模塊Fig.1 System function module

      1.1 普通用戶

      普通用戶可以實(shí)現(xiàn)網(wǎng)頁(yè)搜索、圖片搜索等功能。用戶在輸入關(guān)鍵詞后點(diǎn)擊搜索按鍵或者回車,跳轉(zhuǎn)至結(jié)果頁(yè)面。如果程序發(fā)現(xiàn)的網(wǎng)站符合用戶的要求,就會(huì)根據(jù)網(wǎng)頁(yè)中關(guān)鍵字的位置、出現(xiàn)次數(shù)計(jì)算出每個(gè)網(wǎng)頁(yè)的排名,最后按排名的順序返回給用戶。普通用戶也可以實(shí)時(shí)更改搜索要求。用戶獲取結(jié)果后,可以點(diǎn)擊任意鏈接跳轉(zhuǎn)到相應(yīng)的網(wǎng)頁(yè)。普通用戶模塊流程如圖2所示。

      1.2 數(shù)據(jù)庫(kù)管理員

      數(shù)據(jù)庫(kù)管理員主要完成網(wǎng)絡(luò)爬蟲和數(shù)據(jù)庫(kù)的管理。數(shù)據(jù)庫(kù)管理員模塊流程如圖3所示。數(shù)據(jù)庫(kù)管理員界面顯示一些系統(tǒng)基礎(chǔ)數(shù)據(jù),如數(shù)據(jù)數(shù)量和用戶數(shù)量等。若數(shù)據(jù)庫(kù)管理員想要查看網(wǎng)頁(yè)數(shù)據(jù),則點(diǎn)擊網(wǎng)站數(shù)據(jù)菜單項(xiàng)下的數(shù)據(jù)列表,即可獲取全部網(wǎng)頁(yè)數(shù)據(jù)。

      圖2 普通用戶模塊流程Fig.2 Flow chart of ordinary user module

      圖3 數(shù)據(jù)庫(kù)管理員模塊流程Fig.3 Flow chart of database administrator module

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

      網(wǎng)絡(luò)爬蟲是一個(gè)自動(dòng)提取網(wǎng)頁(yè)的程序,它為搜索引擎從萬(wàn)維網(wǎng)上下載網(wǎng)頁(yè),是搜索引擎的重要組成部分。傳統(tǒng)網(wǎng)絡(luò)爬蟲從一個(gè)或若干個(gè)初始網(wǎng)頁(yè)的統(tǒng)一資源定位地址(URL)開始,獲得初始網(wǎng)頁(yè)的URL。在抓取網(wǎng)頁(yè)的過程中,不斷從當(dāng)前網(wǎng)頁(yè)抽取新的URL放入隊(duì)列,直到滿足系統(tǒng)的一定停止條件。

      聚焦爬蟲的工作流程較為復(fù)雜,需要根據(jù)一定的網(wǎng)頁(yè)分析算法過濾與主題無關(guān)的鏈接,保留有用的鏈接并將其放入等待抓取的URL隊(duì)列。然后,根據(jù)一定的搜索策略從隊(duì)列中選擇下一步要抓取的網(wǎng)頁(yè)的URL。重復(fù)上述過程,直到達(dá)到系統(tǒng)的某一條件時(shí)停止。聚焦爬蟲爬取過程的數(shù)據(jù)流如圖4所示。

      圖4 爬取過程的數(shù)據(jù)流Fig.4 Data flow of crawling process

      本搜索引擎的爬蟲程序采用聚焦爬蟲編寫,優(yōu)點(diǎn)是可以選擇性地爬取那些與預(yù)先設(shè)置好的關(guān)鍵詞序列相關(guān)的網(wǎng)頁(yè)[8-9]。爬蟲程序源碼部分由Python語(yǔ)言編寫,編寫的軟件是PyCharm。爬蟲實(shí)現(xiàn)過程的部分關(guān)鍵代碼如圖5所示。下載網(wǎng)頁(yè)部分代碼如圖6所示。

      圖5 爬蟲代碼Fig.5 Code of the crawler

      圖6 下載網(wǎng)頁(yè)部分的代碼 Fig.6 Code of downloading page part

      2 系統(tǒng)實(shí)現(xiàn)

      2.1 用戶功能實(shí)現(xiàn)

      用戶在訪問系統(tǒng)后就可以看到首頁(yè)界面。首頁(yè)采用簡(jiǎn)單的結(jié)構(gòu)設(shè)計(jì),直接向用戶提供本系統(tǒng)的核心功能——網(wǎng)頁(yè)搜索。系統(tǒng)首頁(yè)如圖7所示。

      圖7 首頁(yè)Fig.7 Home page

      搜索結(jié)果的顯示包含左側(cè)信息欄、中間搜索結(jié)果列表和右側(cè)搜索熱點(diǎn)列表等內(nèi)容。

      (1)左側(cè)信息欄

      在頁(yè)面的左側(cè)放一個(gè)欄目用于提示用戶搜索結(jié)果的一些細(xì)節(jié),除了顯示當(dāng)前關(guān)鍵字外,還有相關(guān)關(guān)鍵詞,點(diǎn)擊即可訪問相關(guān)頁(yè)面。左側(cè)信息欄如圖8所示。

      圖8 左側(cè)信息欄Fig.8 Left information column

      (2)中間搜索結(jié)果列表

      如圖9所示,中間搜索結(jié)果列表和市面上的搜索引擎一樣,每條結(jié)果都由三部分組成,分別是標(biāo)題、簡(jiǎn)要介紹和修改日期(網(wǎng)站被爬取的日期)。

      圖9 中間搜索結(jié)果列表Fig.9 Middle part search result list

      (3)右側(cè)搜索熱點(diǎn)列表

      在熱點(diǎn)搜索里,每個(gè)關(guān)鍵詞都有一個(gè)搜索指數(shù)。每當(dāng)有人搜索該關(guān)鍵詞時(shí),指數(shù)就會(huì)上漲。頁(yè)面直接輸出數(shù)據(jù)庫(kù)里按搜索指數(shù)排名前10的記錄,如圖10所示。

      圖10 右側(cè)搜索熱點(diǎn)列表Fig.10 Right search hot spot list

      2.2 數(shù)據(jù)庫(kù)管理員功能實(shí)現(xiàn)

      由于系統(tǒng)的管理后臺(tái)作為前臺(tái)的鋪墊和延伸,因此在后臺(tái)管理界面上設(shè)計(jì)了數(shù)據(jù)查詢以及分類搜索等功能,針對(duì)不同權(quán)限的數(shù)據(jù)庫(kù)管理員提供不同的數(shù)據(jù)查看與修改方式。數(shù)據(jù)庫(kù)管理員的歡迎界面如圖11所示。

      數(shù)據(jù)庫(kù)管理員后臺(tái)的功能模塊可以簡(jiǎn)單地分為數(shù)據(jù)管理和用戶管理,數(shù)據(jù)管理模塊又可以分為圖片管理和爬蟲管理2個(gè)部分。

      (1)圖片查詢頁(yè)面

      圖片數(shù)據(jù)按類別存放到不同的文件夾下,被數(shù)據(jù)庫(kù)管理員檢索的時(shí)候先按編號(hào)排序顯示在列表中,支持多列排序功能。點(diǎn)擊類別標(biāo)簽可進(jìn)入圖片展示頁(yè)面,該頁(yè)面可瀏覽該類別下的所有圖片。在圖片展示頁(yè)面,所有圖片被平鋪在頁(yè)面上,可以點(diǎn)擊單個(gè)圖片放大查看,也可以批量刪除圖片。圖片瀏覽列表如圖12所示。

      (2)爬蟲管理

      在關(guān)鍵詞管理模塊中,關(guān)鍵詞的來源有以下2個(gè):一是由用戶搜索時(shí)添加,二是在爬取網(wǎng)頁(yè)的過程中寫入數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)管理員可以實(shí)時(shí)管理每個(gè)關(guān)鍵詞,或者自行添加關(guān)鍵詞,關(guān)鍵詞的排行是實(shí)時(shí)變動(dòng)的,用戶搜索某個(gè)關(guān)鍵詞的次數(shù)越多,排名就越靠前。關(guān)鍵詞排名列表如圖13所示。

      3 結(jié)語(yǔ)

      本文介紹了基于聚焦爬蟲搜索引擎的實(shí)現(xiàn)過程。該系統(tǒng)實(shí)現(xiàn)了網(wǎng)頁(yè)搜索、圖片搜索以及熱點(diǎn)搜索排行等功能。通過大量測(cè)試,系統(tǒng)運(yùn)行良好,具有較好的用戶體驗(yàn)。

      圖11 管理后臺(tái)主界面Fig.11 Main interface of management backstage

      圖12 圖片瀏覽列表Fig.12 Picture browsing list

      圖13 關(guān)鍵詞排名列表Fig.13 Keyword ranking list

      猜你喜歡
      爬蟲搜索引擎列表
      巧用列表來推理
      利用網(wǎng)絡(luò)爬蟲技術(shù)驗(yàn)證房地產(chǎn)灰犀牛之說
      基于Python的網(wǎng)絡(luò)爬蟲和反爬蟲技術(shù)研究
      學(xué)習(xí)運(yùn)用列表法
      擴(kuò)列吧
      利用爬蟲技術(shù)的Geo-Gnutel la VANET流量采集
      大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲技術(shù)
      電子制作(2017年9期)2017-04-17 03:00:46
      網(wǎng)絡(luò)搜索引擎亟待規(guī)范
      基于Nutch的醫(yī)療搜索引擎的研究與開發(fā)
      廣告主與搜索引擎的雙向博弈分析
      阜新| 蒙城县| 西昌市| 宁安市| 桑日县| 乌兰浩特市| 天水市| 苍南县| 治多县| 安陆市| 玉树县| 巴青县| 赤峰市| 静海县| 鹰潭市| 建昌县| 宿迁市| 盘锦市| 太原市| 原阳县| 德兴市| 岳普湖县| 开封县| 镶黄旗| 津市市| 蓬溪县| 涞源县| 西安市| 凤凰县| 彭泽县| 宝丰县| 托克托县| 海兴县| 山阴县| 广南县| 新巴尔虎右旗| 蒙山县| 兰溪市| 清远市| 都匀市| 广灵县|