国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

趙建華,蔣勁松

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

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

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

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

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

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

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

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

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

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

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

1.1 普通用戶

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

圖7 首頁Fig.7 Home page

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

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

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

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

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

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

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

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

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

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

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

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

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

(1)圖片查詢頁面

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

(2)爬蟲管理

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

3 結(jié)語

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

圖11 管理后臺主界面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ù)驗證房地產(chǎn)灰犀牛之說
基于Python的網(wǎng)絡(luò)爬蟲和反爬蟲技術(shù)研究
學(xué)習(xí)運用列表法
擴列吧
利用爬蟲技術(shù)的Geo-Gnutel la VANET流量采集
電子測試(2018年1期)2018-04-18 11:53:04
大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲技術(shù)
電子制作(2017年9期)2017-04-17 03:00:46
網(wǎng)絡(luò)搜索引擎亟待規(guī)范
基于Nutch的醫(yī)療搜索引擎的研究與開發(fā)
廣告主與搜索引擎的雙向博弈分析
诸城市| 大城县| 晋江市| 莱州市| 交城县| 高碑店市| 梁河县| 湖州市| 龙陵县| 岫岩| 永定县| 清远市| 大理市| 灵石县| 三明市| 东辽县| 嘉祥县| 兴仁县| 延安市| 潞城市| 乐清市| 杭州市| 临猗县| 邢台县| 罗城| 定西市| 简阳市| 光泽县| 蒲城县| 罗源县| 阿克| 云和县| 林周县| 三河市| 泰宁县| 重庆市| 太谷县| 遵化市| 休宁县| 霍州市| 怀仁县|