【正文】
al Crawler ),是指選擇性地爬行那些與預(yù)先定義好的主題相關(guān)頁(yè)面的網(wǎng)絡(luò)爬蟲(chóng) [3]。另外一些不常使用的名字還有螞蟻,自動(dòng)索引,模擬程序或者 蠕蟲(chóng) 。 本課題的任務(wù)是抓取 互聯(lián)網(wǎng)上分散的服務(wù),具有重要意義:本系統(tǒng)把互聯(lián)網(wǎng)上的服務(wù)都收集起來(lái),并存儲(chǔ)在本地?cái)?shù)據(jù)庫(kù)。 為了達(dá)到以上目的,本系統(tǒng)將對(duì) Heritrix 開(kāi)源框架進(jìn)行擴(kuò)展 ,并針對(duì)服務(wù)網(wǎng)站上服務(wù)的特點(diǎn)選擇合適 的爬蟲(chóng)抓取過(guò)程。 [5]J. Cho, H. GarciaMolina. The evolution of the web and implications for an incremental crawler [C]. In Proceedings of the 26th International Conference on Very Large Database, Cairo, Egypt, 2021. [6]李文澤;個(gè)性化垂直搜索引擎研究;河南大學(xué); 20211107; [7]曾偉輝,李淼 . 深層網(wǎng)絡(luò)爬蟲(chóng)研究綜述 [J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用 , 2021. [8]周立柱 ,林 玲 . 聚焦爬蟲(chóng)技術(shù)研究綜述 [J].計(jì)算機(jī)應(yīng)用 , 2021 年 9 月 . [9]S. Chakrabarti, M. van den Berg and B. Dom. Focused Crawling: A New Approach to TopicSpecific Web Resource Discovery [C]. In Proceedings of the 8th International World Wide Web Conference, Toronto, Canada, 1999. [10]陳汶濱,夏學(xué)梅 . 基于聚焦爬蟲(chóng)的手機(jī)天氣預(yù)報(bào)系統(tǒng) [J]. 今日科苑 . 2021年第 2期 . [11]邱哲,符滔滔 . 開(kāi)發(fā)自己的搜索引擎 Lucene +Heritrix. 人民郵電出版社 , 20214. [12]羅剛 . 自己動(dòng)手寫(xiě)網(wǎng)絡(luò)爬蟲(chóng) . 清華大學(xué)出版社 . 2021101; [13]Heritrix 官方網(wǎng)站 [EB/OL]. [14]seeda 網(wǎng)站 [EB/OL]. [15]網(wǎng)絡(luò)爬蟲(chóng) [EB/OL]. 三、設(shè)計(jì)(研究)內(nèi)容和要求(包括設(shè)計(jì)或研究?jī)?nèi)容、主要指標(biāo) 與技術(shù)參數(shù),并根據(jù)課題性質(zhì)對(duì)學(xué)生提出具體要求。,May 2021, [2]李盛韜,余智華,程學(xué)旗 .Web 信息采集研究進(jìn)展【 J】 .計(jì)算機(jī)科學(xué), 2021. [3], den Berg and Crawling: A New Approach to TopicSpecifi Web Resource Discovery[C].In Proceedings of the 8th International World Wide Web Conference, Toronto, Canada, 1999. [4]鄭力明,易平 。本課題的任務(wù)就是研究如何把網(wǎng)絡(luò)上分散的 Web 服務(wù)搜集在一起。 Web Services 技術(shù)可以將 Inter 上的各種信息資源和服務(wù)功能整合在一起,在任何時(shí)間、任何地點(diǎn)向用戶(hù)提供優(yōu)質(zhì)的服務(wù) 。 畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū) 學(xué) 院 軟件學(xué)院 專(zhuān) 業(yè) 軟件工程 年 級(jí) 07 級(jí) 姓 名 梁其烜 指導(dǎo)教師 馮志勇 2021 年 6 月 15 日 畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū) 題目:面向 web service 的網(wǎng)絡(luò)爬蟲(chóng)設(shè)計(jì)與實(shí)現(xiàn) 學(xué)生姓名 梁其烜 學(xué)院名稱(chēng) 軟件學(xué)院 專(zhuān) 業(yè) 軟件工 程 學(xué) 號(hào) 3007218123 指導(dǎo)教師 馮志勇 職 稱(chēng) 教授 一、 原始依據(jù)(包括設(shè)計(jì)或論文的工作基礎(chǔ)、研究條件、應(yīng)用環(huán) 境、工作目的等。 Web Services 技術(shù)還有助于改變企業(yè)對(duì) IT系統(tǒng)的應(yīng)用方式和依賴(lài)程度。 二、 參考文獻(xiàn) [1]孫立偉,何國(guó)輝,吳禮發(fā) 。Design of Crawler Based on HTML Parser Information Extraction。) 本系統(tǒng)將要達(dá)到以下目標(biāo): ? 提供給用戶(hù)一個(gè)種子文件,用戶(hù)可以設(shè)置抓取 Web 服務(wù)的網(wǎng)站地址。 當(dāng)服務(wù)網(wǎng)站提供了詳細(xì)的服務(wù)信息,且網(wǎng)站服務(wù)的分布結(jié)構(gòu)是有規(guī)律的,那么通過(guò) 對(duì)網(wǎng)站結(jié)構(gòu)的分析,可以得到網(wǎng)站中服務(wù)分布的一顆樹(shù),并用形式化語(yǔ)言描述這棵樹(shù),而經(jīng)過(guò)擴(kuò)展之后的爬蟲(chóng)對(duì)這顆樹(shù)進(jìn)行遍歷,就實(shí)現(xiàn)了抓起網(wǎng)絡(luò)上分布的 Web Service。用戶(hù)或者服務(wù)開(kāi)發(fā)者就可以在基于該本系統(tǒng)數(shù)據(jù)庫(kù)的搜索引擎中查找到所有的互聯(lián)網(wǎng)上大部分的服務(wù),節(jié)省了在不同網(wǎng)站間查找服務(wù)的時(shí)間。 網(wǎng)絡(luò)爬蟲(chóng)按照系統(tǒng)結(jié)構(gòu)和實(shí)現(xiàn)技術(shù),大致可以分為以下幾種類(lèi)型 [1]:通用網(wǎng)絡(luò)爬蟲(chóng) [2]、聚焦網(wǎng)絡(luò)爬蟲(chóng) [8]、增量式網(wǎng)絡(luò)爬蟲(chóng) [5]、 Deep Web 爬蟲(chóng) [7]。隨著垂直搜索的蓬勃發(fā)展,聚焦網(wǎng)絡(luò),也就是主題網(wǎng)絡(luò)爬蟲(chóng)成為研究的前言 , [4]提出通過(guò)深入分析生活類(lèi)網(wǎng)站網(wǎng)址的樹(shù)形結(jié)構(gòu)的架構(gòu),開(kāi)發(fā)了收 集種子頁(yè)面的 URL 的模擬搜集齊,并基于 HTMLParser 的信息提取方法,從種子與頁(yè)面中提取出與生活類(lèi)主題相關(guān)的目標(biāo) URL。本課題并不是重新開(kāi)發(fā)一個(gè)爬蟲(chóng)程序,而是在現(xiàn)有爬蟲(chóng)開(kāi)源框架的基礎(chǔ)上進(jìn)行擴(kuò)展 。 現(xiàn)已有很多應(yīng)用是在 Heritrix 上開(kāi)發(fā)的。針對(duì)這種情況,主要的研究?jī)?nèi)容如下: Heritrix 的擴(kuò)展 因?yàn)楝F(xiàn)有的開(kāi)源爬蟲(chóng)框架 Heritrix 提供了網(wǎng)絡(luò)搜索的基本結(jié)構(gòu),所以,我會(huì)擴(kuò)展 Heritrix 框架,使該框架適用于本系統(tǒng)。 a. 對(duì)網(wǎng)站所有 Web Service 的分類(lèi)頁(yè)面進(jìn)行分析,分析出含有 所有 Web Service 的種類(lèi) URl 的 table 表格結(jié)構(gòu)和 URL 的結(jié)構(gòu)。 采用數(shù)據(jù)結(jié)構(gòu)中的樹(shù)結(jié)構(gòu)來(lái)描述網(wǎng)站服務(wù)的分布樹(shù),而經(jīng)過(guò)擴(kuò)展之后的爬蟲(chóng)得到根節(jié)點(diǎn), 并通過(guò)根節(jié)點(diǎn)對(duì)整棵樹(shù)進(jìn)行遍歷,就實(shí)現(xiàn)了抓起網(wǎng)絡(luò)上分布的 Web Service。 四、 方法和手段: 在擴(kuò)展 Heritrix 框架的過(guò)程中,遇到的問(wèn)題或者使用的插件如下: 1. 在改寫(xiě) Heritrix 框架的提取鏈時(shí),需要從 分析網(wǎng)站結(jié)構(gòu)中得到需要遍歷 的網(wǎng)頁(yè) URL。 在分析網(wǎng)站結(jié)構(gòu)時(shí),需要用到 HTMLParser 插件,該插件能夠?qū)崿F(xiàn)對(duì)網(wǎng)頁(yè)的詳細(xì)分析,包括獲取所有網(wǎng)頁(yè)標(biāo)簽 信息等功能。 2. 并對(duì)該類(lèi)別頁(yè)面進(jìn)行分析,提取出所有的 Web service 詳細(xì)信息頁(yè)面的URL。并重復(fù) 2 步驟。同時(shí)網(wǎng)絡(luò)爬蟲(chóng)技術(shù)的飛速發(fā)展,各種爬蟲(chóng)開(kāi)源框架的出現(xiàn),為我們的爬蟲(chóng)系統(tǒng)提供了良好的 技術(shù)基礎(chǔ)。 3. 構(gòu)建 web services 爬蟲(chóng), 至 。 4)加載服務(wù)信息到數(shù)據(jù)庫(kù):把在頁(yè)面信息提取中得到的關(guān)于服務(wù)的信息存入數(shù)據(jù)庫(kù)中。s WSDL URL and related service information. This paper pleted a Web Crawler about Web service information analysis and main research and development contents are: 1) Analysis Service Web site structure: before capturing the services on a Web site, needing to manually analyze which pages of the site need to be captured, and which information in which pages needs to be captured。 Web 服務(wù)允許應(yīng)用開(kāi)發(fā)者對(duì)不同語(yǔ)言,不同平臺(tái)的應(yīng)用程序進(jìn)行集成,允許在程序中調(diào)用 Web 服務(wù)。 現(xiàn)在,互聯(lián)網(wǎng)上存在許多被動(dòng)的,集中式的服務(wù)注冊(cè)網(wǎng)站,這類(lèi)網(wǎng)站上的服務(wù)可能大部分來(lái)源于網(wǎng)站國(guó)家的開(kāi)發(fā)者,服務(wù)功能針對(duì)某一領(lǐng)域。 為了 實(shí)現(xiàn)該目的,本論文的主要研究?jī)?nèi)容包括: 第一種情況:網(wǎng)站上的服務(wù)提供了關(guān)于服務(wù)的相關(guān)信息,那么本系統(tǒng)抓取服務(wù) WSDL 文檔的同時(shí),獲取服務(wù)的相關(guān)信息。 c. 重新改 寫(xiě) Heritrix 框架處理流程的寫(xiě)鏈,下載搜索到的 wsdl 文檔。 通過(guò)對(duì)網(wǎng)站結(jié)構(gòu)的分析,可以得到網(wǎng)站中服務(wù)分布的一顆樹(shù),并用形式化 語(yǔ)言描述這棵樹(shù)。利用 HttpClient 編寫(xiě)下載 WSDL 程序。 第三章 提出了系統(tǒng)的設(shè)計(jì)和結(jié)構(gòu),其中包括總體架構(gòu)、數(shù)據(jù)庫(kù)的設(shè)計(jì)、工程包的設(shè)計(jì)和詳細(xì)的流程設(shè)計(jì)。伴隨著 Web Service 的數(shù)量的增長(zhǎng),越來(lái)越多的網(wǎng)站關(guān)注于如何吸引開(kāi)發(fā)者把服務(wù)發(fā)布在他們的網(wǎng)站中,這些網(wǎng)站采用了服務(wù)開(kāi)發(fā)者在該網(wǎng)站上注冊(cè)服務(wù)的方式來(lái)發(fā)布服務(wù)。盡管這些網(wǎng)站的數(shù)量不及 seekda 的多,但這些網(wǎng)站上的服務(wù)對(duì)用戶(hù)來(lái)說(shuō),也是有巨大意義的。其應(yīng)用也十分廣泛,如 :Google 搜索引擎的爬蟲(chóng)模塊就是一個(gè)通用網(wǎng)絡(luò)爬蟲(chóng),Google 的爬蟲(chóng)通過(guò) 遍歷互聯(lián)網(wǎng)上的網(wǎng)頁(yè),并提取網(wǎng)頁(yè)的信息,例如關(guān)鍵字、類(lèi)型、網(wǎng)頁(yè)超鏈接等,然后建立網(wǎng)頁(yè)索引。 Heritrix[9]是一個(gè)比較靈活、可擴(kuò)展性強(qiáng)的網(wǎng)絡(luò)爬蟲(chóng)開(kāi)源框架,目前,已經(jīng)有很多應(yīng)用在該框架上進(jìn)行開(kāi)發(fā),例如基于 Heritrix 的面向電子商務(wù)網(wǎng)站的信息抓取,該應(yīng)用就是在 Heritrix 網(wǎng)絡(luò)爬蟲(chóng)開(kāi)源框架的基礎(chǔ)上進(jìn)行擴(kuò)展、修改 [10],并建立特有的抓取策略來(lái)抓取網(wǎng)絡(luò)上的電子商務(wù)信息 [11]。 如果網(wǎng)站只提供了 Web 服務(wù) WSDL 文檔的 URL,那么系統(tǒng)在抓取網(wǎng)站過(guò)程中,只提取 Web 服務(wù) WSDL 的 URL,把該 URL 存入數(shù)據(jù)庫(kù),并下載 Web 服務(wù)的 WSDL 文檔。 針對(duì)提供了詳細(xì)信息的服務(wù)網(wǎng)站,裁掉了一些 Heritrix 原有處理鏈,只保留了過(guò)濾鏈,提取鏈,寫(xiě)鏈,并對(duì)三個(gè)處理鏈功能進(jìn)行重新設(shè)定。 過(guò)濾鏈主要負(fù)責(zé)過(guò)濾非本網(wǎng)站鏈接,爬蟲(chóng)抓取的范圍局限于主網(wǎng)站,所有其他指向網(wǎng)站的鏈接都會(huì)過(guò)濾。數(shù)據(jù)庫(kù)表定義如下: 天津大學(xué) 2021屆本科生畢業(yè)設(shè)計(jì)(論文) 7 表 31 webServiceDetail表 屬性名 數(shù)據(jù)類(lèi)型 非空 自增長(zhǎng) 默認(rèn)值 wsdlAddress VARCHAR(255) √ Provider VARCHAR(30) monitoredSince VARCHAR(50) server VARCHAR(50) availability VARCHAR(50) description VARCHAR(5000) descriptionByUser VARCHAR(1000) fileAddress VARCHAR(255) date datatime state VARCHAR(50) type Boolean √ 重要字段說(shuō)明: wsdlAddress 字段為主鍵,因?yàn)槊總€(gè)服務(wù) WSDL 文檔的 URL 是唯一的。 ? 是寫(xiě)鏈模塊的程序文件包,主要負(fù)責(zé)下載 WSDL 文檔。 2. 爬蟲(chóng)線程管理器 TreadPool 詢(xún)問(wèn) Frontier,檢查待訪問(wèn)隊(duì)列中是否存在鏈 接,如果存在, TreadPool 獲得該鏈接,并分配給一個(gè)線程。 如果該頁(yè)面是服務(wù)提供商集合頁(yè)面,提取鏈就對(duì)該頁(yè)面進(jìn)行提供商 服務(wù)集合頁(yè)面鏈接的抓取,并把這些鏈接加入到待訪問(wèn)隊(duì)列中。還要把提取鏈中提取出來(lái)的服務(wù)信息存入服務(wù)詳細(xì)信息表中, 例如:服務(wù)提供商、服務(wù)注冊(cè)時(shí)間、 服務(wù)可用率、服務(wù)標(biāo)簽等。 3. 爬蟲(chóng)線程獲得鏈接后,首先經(jīng)過(guò)過(guò)濾鏈的處理,判斷鏈接頁(yè)面的類(lèi)型, 并決定如何解析該頁(yè)面。跳過(guò)寫(xiě)鏈。 現(xiàn)有的服務(wù)網(wǎng)站中, seekda 網(wǎng)站的服務(wù)分布是有結(jié)構(gòu)、有規(guī)律的。 方式 1:爬蟲(chóng)抓取網(wǎng)站所有服務(wù)是不可行的,因?yàn)榕老x(chóng)無(wú)法列舉所有可能的搜索條件。當(dāng)爬蟲(chóng)遍歷完所有的提供商頁(yè)面,也就抓取完所有的服務(wù)。 Seekda 網(wǎng)站主要包含三種類(lèi)型的頁(yè)面。p=是相同的部分, 是提供商名,根據(jù)這個(gè)規(guī)律,我們得出結(jié)論:所有以 ....../?tab=servicelistamp。 //執(zhí)行操作 1 condition1(content,curi)。 }else if((/providers/)){ //該頁(yè)面是服務(wù)詳細(xì)信息頁(yè)面 (url+ 進(jìn)入 服務(wù)詳細(xì)信息頁(yè)面 )。例如:在頁(yè)面中,存在一個(gè)標(biāo)簽,在開(kāi)發(fā)者