關鍵詞:物聯網;搜索引擎;網絡爬蟲;索引器;jsoup.
隨著信息技術與物聯網技術的不斷發展和融合,越來越多的產業與行業廣泛應用了物聯網技術,如工農業、智能家居、快遞物流、設備監控等,物聯網中包含很多實體,這就意味著海量的實時數據需要傳輸、存儲及有效展示。面對越來越多的傳感器及其所產生的數據,只有結合智能的物聯網搜索,才能最大限度地實現這類數據的價值。
1 模塊設計。
本搜索引擎由四個模塊組成,主要包括網頁抓取模塊,網頁內容抽取模塊,內容索引模塊和內容呈現模塊。系統的模塊流程圖1如下:
1.1 網頁抓取模塊。
網頁抓取模塊主要完成對指定站點進行網頁的抓取并將所抓取的網頁保存到本地數據庫。
本系統是從鳳凰、騰訊、網易、搜狐新聞網上爬取相關的網頁,輸入鳳凰、騰訊、網易、搜狐新聞網的頁面的URL作為種子URL.通過分析鳳凰、騰訊、網易、搜狐新聞網的網頁URL的格式,對網絡爬蟲抓取和分析網頁的行為進行一定的控制,限定應抓取的網頁的URL格式以及限定能進入待爬取的URL隊列的URL的格式。提高網絡爬蟲爬取速度可以通過改善URL的分配策略,使網絡爬蟲的并發線程增多。通過限制對Robot文件的訪問,也是提高爬蟲爬取網頁效率的一個方法。網頁抓取模塊的功能需求如圖2所示:
1.2 網頁內容抽取模塊。
網頁內容抽取模塊主要負責從本地文件所存儲的網頁中按照某種抽取規則抽取所需信息,并將所得到的信息按照特定的格式保存到數據庫中。
通過對具有代表性的目標頁面進行分析,制定信息抽取規則,實現對網頁上各種內容的定位,抽取網頁文本內容。構建網頁信息詞庫,通過分詞器解析抽取出所需網頁信息內容,并將其寫到指定詞庫文件中。將提取的網頁非結構化信息轉化成結構化信息存儲到數據庫中。
網頁內容抽取模塊的功能需求如圖3所示。
1.3 內容索引模塊。
利用Luence索引工具對數據庫中結構化信息建立索引文件,然后把創建好的索引文件保存到磁盤中,根據用戶輸入的查詢條件在索引文件中進行查詢,最終查詢結果按照一定的順序進行排序返回給用戶。
網頁內容索引模塊的功能需求如圖4所示。
1.4 內容呈現模塊。
通過jsp技術,以Web的形式展示用戶界面,當用戶在此界面輸入關鍵詞時,根據用戶的關鍵詞從數據庫中匹配相關網頁,把相關網頁根據一定的排序規則返回顯示在用戶界面。