畢業(yè)論文設(shè)計面向web service的網(wǎng)絡(luò)爬蟲設(shè)計與實現(xiàn)_第1頁
畢業(yè)論文設(shè)計面向web service的網(wǎng)絡(luò)爬蟲設(shè)計與實現(xiàn)_第2頁
畢業(yè)論文設(shè)計面向web service的網(wǎng)絡(luò)爬蟲設(shè)計與實現(xiàn)_第3頁
畢業(yè)論文設(shè)計面向web service的網(wǎng)絡(luò)爬蟲設(shè)計與實現(xiàn)_第4頁
畢業(yè)論文設(shè)計面向web service的網(wǎng)絡(luò)爬蟲設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩95頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、畢業(yè)設(shè)計(論文)說明書學(xué) 院 軟件學(xué)院 專 業(yè) 軟件工程 年 級 07級 姓 名 梁其烜 指導(dǎo)教師 馮志勇 2011年 6 月 15 日畢業(yè)設(shè)計(論文)任務(wù)書題目:面向web service的網(wǎng)絡(luò)爬蟲設(shè)計與實現(xiàn)學(xué)生姓名 梁其烜 學(xué)院名稱 軟件學(xué)院 專 業(yè) 軟件工程 學(xué) 號 3007218123 指導(dǎo)教師 馮志勇 職 稱 教授 1、 原始依據(jù)(包括設(shè)計或論文的工作基礎(chǔ)、研究條件、應(yīng)用環(huán) 境、工作目的等。) Web Services技術(shù)是一種基于XML語言和標準的網(wǎng)絡(luò)協(xié)議實現(xiàn)的分布式計算技術(shù)。Web Services技術(shù)是可以改變軟件產(chǎn)業(yè)面貌和軟件應(yīng)用模式的技術(shù)之一。Web Services技術(shù)可

2、以將Internet上的各種信息資源和服務(wù)功能整合在一起,在任何時間、任何地點向用戶提供優(yōu)質(zhì)的服務(wù)。Web Services技術(shù)還有助于改變企業(yè)對IT系統(tǒng)的應(yīng)用方式和依賴程度。所以Web Services技術(shù)成為了網(wǎng)絡(luò)上的主流技術(shù)之一,隨之也來的是大量的開發(fā)人員開始開發(fā)Web服務(wù),隨著時間的推移,網(wǎng)絡(luò)上出現(xiàn)了大量的Web 服務(wù)。但是,大量的Web服務(wù)分布在網(wǎng)絡(luò)中的各個地方,給用戶尋找特定功能的服務(wù)造成了不小的麻煩,也給服務(wù)開發(fā)者在原有的服務(wù)上進行再次開發(fā)造成了不便。本課題的任務(wù)就是研究如何把網(wǎng)絡(luò)上分散的Web服務(wù)搜集在一起。2、 參考文獻1孫立偉,何國輝,吳禮發(fā);網(wǎng)絡(luò)爬蟲技術(shù)研究;Comput

3、er Knowledge and Technology 電腦知識與技術(shù);Vol.4,No.15,May 2010,pp.4112-41152李盛韜,余智華,程學(xué)旗.Web信息采集研究進展【J】.計算機科學(xué),2003.3S.Chakrabarti,M.van den Berg and B.Dom.Focused Crawling: A New Approach to Topic-Specifi Web Resource DiscoveryC.In Proceedings of the 8th International World Wide Web Conference, Toronto, Ca

4、nada, 1999.4鄭力明,易平;Design of Crawler Based on HTML Parser Information Extraction;微計算機信息,Microcomputer Information;09,June,2009。 5J. Cho, H. Garcia-Molina. The evolution of the web and implications for an incremental crawler C. In Proceedings of the 26th Inter-national Conference on Very Large Databa

5、se, Cairo, Egypt, 2000. 6李文澤;個性化垂直搜索引擎研究;河南大學(xué);2007-11-07;7曾偉輝,李淼. 深層網(wǎng)絡(luò)爬蟲研究綜述J. 計算機系統(tǒng)應(yīng)用, 2008. 8周立柱 ,林玲. 聚焦爬蟲技術(shù)研究綜述J.計算機應(yīng)用, 2005年9月.9S. Chakrabarti, M. van den Berg and B. Dom. Focused Crawling: A New Approach to Topic-Specific Web Resource Discovery C. In Proceedings of the 8th International World W

6、ide Web Conference, Toronto, Canada, 1999. 10陳汶濱,夏學(xué)梅. 基于聚焦爬蟲的手機天氣預(yù)報系統(tǒng)J. 今日科苑. 2009年第2期.11邱哲,符滔滔. 開發(fā)自己的搜索引擎-Lucene 2.0+Heritrix. 人民郵電出版社, 2007-4.12羅剛. 自己動手寫網(wǎng)絡(luò)爬蟲. 清華大學(xué)出版社. 2010-10-1;13Heritrix官方網(wǎng)站EB/OL. 14seeda網(wǎng)站EB/OL. 15網(wǎng)絡(luò)爬蟲三、設(shè)計(研究)內(nèi)容和要求(包括設(shè)計或研究內(nèi)容、主要指標 與技術(shù)參數(shù),并根據(jù)課題性質(zhì)對學(xué)生提出具體要求。) 本系統(tǒng)將

7、要達到以下目標:l 提供給用戶一個種子文件,用戶可以設(shè)置抓取Web服務(wù)的網(wǎng)站地址。l 根據(jù)種子地址,搜索種子網(wǎng)站上的Web服務(wù)。l 把搜索到的Web服務(wù)相關(guān)信息存入數(shù)據(jù)庫中。為了達到以上目的,本系統(tǒng)將對Heritrix開源框架進行擴展,并針對服務(wù)網(wǎng)站上服務(wù)的特點選擇合適的爬蟲抓取過程。當服務(wù)網(wǎng)站提供了詳細的服務(wù)信息,且網(wǎng)站服務(wù)的分布結(jié)構(gòu)是有規(guī)律的,那么通過對網(wǎng)站結(jié)構(gòu)的分析,可以得到網(wǎng)站中服務(wù)分布的一顆樹,并用形式化語言描述這棵樹,而經(jīng)過擴展之后的爬蟲對這顆樹進行遍歷,就實現(xiàn)了抓起網(wǎng)絡(luò)上分布的Web Service。當服務(wù)網(wǎng)站沒有提供服務(wù)的信息,只提供了WSDL文檔的URL,那么就遍歷網(wǎng)站中所有

8、的本網(wǎng)站的網(wǎng)頁,并判斷網(wǎng)頁中的鏈接是否是WSDL文檔的URL,如果是,就下載該WSDL文檔。指導(dǎo)教師(簽字)年 月 日審題小組組長(簽字)年 月 日天津大學(xué)本科生畢業(yè)設(shè)計(論文)開題報告課題名稱Web Services 網(wǎng)絡(luò)爬蟲學(xué)院名稱軟件學(xué)院專業(yè)名稱軟件工程學(xué)生姓名梁其烜指導(dǎo)教師馮志勇l 課題來源及意義: 互聯(lián)網(wǎng)上的服務(wù)數(shù)量正快速的增長,分布在不同的網(wǎng)站上,導(dǎo)致服務(wù)的用戶需要在不同的網(wǎng)站之間尋找一個或者多個符合自己需求的服務(wù),對于服務(wù)開發(fā)者來說,他們無法快速、準確的得知現(xiàn)有的服務(wù)開發(fā)現(xiàn)狀,服務(wù)開發(fā)者無法重用現(xiàn)有的服務(wù),重復(fù)開發(fā)已有的服務(wù),導(dǎo)致一個糟糕的服務(wù)開發(fā)環(huán)境。 本課題的任務(wù)是抓取互聯(lián)網(wǎng)

9、上分散的服務(wù),具有重要意義:本系統(tǒng)把互聯(lián)網(wǎng)上的服務(wù)都收集起來,并存儲在本地數(shù)據(jù)庫。用戶或者服務(wù)開發(fā)者就可以在基于該本系統(tǒng)數(shù)據(jù)庫的搜索引擎中查找到所有的互聯(lián)網(wǎng)上大部分的服務(wù),節(jié)省了在不同網(wǎng)站間查找服務(wù)的時間。服務(wù)用戶可以快速、準確的找到符合自己需求的服務(wù),服務(wù)開發(fā)者可以快速得知服務(wù)開發(fā)現(xiàn)狀,避免重復(fù)開發(fā),并且可以利用現(xiàn)有服務(wù)進行組合開發(fā)等。2、 國內(nèi)外發(fā)展狀況: 收集互聯(lián)網(wǎng)上的信息的系統(tǒng)被稱為網(wǎng)絡(luò)爬蟲(又被稱為網(wǎng)頁蜘蛛,網(wǎng)絡(luò)機器人,在FOAF社區(qū)中間,更經(jīng)常的稱為網(wǎng)頁追逐者),它是一種按照一定的規(guī)則,自動的抓取萬維網(wǎng)信息的程序或者腳本。另外一些不常使用的名字還有螞蟻,自動索引,模擬程序或者蠕蟲。

10、網(wǎng)絡(luò)爬蟲按照系統(tǒng)結(jié)構(gòu)和實現(xiàn)技術(shù),大致可以分為以下幾種類型1:通用網(wǎng)絡(luò)爬蟲2、聚焦網(wǎng)絡(luò)爬蟲8、增量式網(wǎng)絡(luò)爬蟲5、Deep Web爬蟲7。通用網(wǎng)絡(luò)爬蟲2又稱全網(wǎng)爬蟲(Scalable Web Crawler),爬行對象從一些種子 URL 擴充到整個 Web ,主要為門戶站點搜索引擎和大型 Web 服務(wù)提供商采集數(shù)據(jù)。通用的網(wǎng)絡(luò)爬蟲大多應(yīng)用于大型門戶網(wǎng)站或類似于google這樣的搜索引擎15。 聚焦網(wǎng)絡(luò)爬蟲(Focused Crawler),又稱主題網(wǎng)絡(luò)爬蟲(Topical Crawler ),是指選擇性地爬行那些與預(yù)先定義好的主題相關(guān)頁面的網(wǎng)絡(luò)爬蟲3。隨著垂直搜索的蓬勃發(fā)展,聚焦網(wǎng)絡(luò),也就是主題網(wǎng)

11、絡(luò)爬蟲成為研究的前言,4提出通過深入分析生活類網(wǎng)站網(wǎng)址的樹形結(jié)構(gòu)的架構(gòu),開發(fā)了收集種子頁面的URL的模擬搜集齊,并基于HTMLParser的信息提取方法,從種子與頁面中提取出與生活類主題相關(guān)的目標URL。增量式網(wǎng)絡(luò)爬蟲(Incremental Web Crawler) 5是指對已下載網(wǎng)頁采取增 量式更新和只爬行新產(chǎn)生的或者已經(jīng)發(fā)生變化網(wǎng)頁的爬蟲,它能夠在一定程度上 保證所爬行的頁面是盡可能新的頁面 。本課題研究的是針對Web服務(wù)的聚焦網(wǎng)絡(luò)爬蟲技術(shù)。因為聚焦網(wǎng)絡(luò)爬蟲技術(shù)能最快的,最準確的搜索Web服務(wù)信息。本課題并不是重新開發(fā)一個爬蟲程序,而是在現(xiàn)有爬蟲開源框架的基礎(chǔ)上進行擴展?,F(xiàn)有的網(wǎng)絡(luò)爬蟲框

12、架有很多,例如:Heritrix、Nutch、Larbin、J-Spider等。Heritrix13是一個由Java開發(fā)的、開源的Web網(wǎng)絡(luò)信息采集程序。和其他開源的爬蟲程序相比,Heritrix的優(yōu)勢在于它的擴展性,開發(fā)者可以擴展它的組件,來實現(xiàn)自己的抓取邏輯6?,F(xiàn)已有很多應(yīng)用是在Heritrix上開發(fā)的。例如:基于聚焦爬蟲的手機天氣預(yù)報系統(tǒng),它是在Heritrix的基本功能上進行擴展11和修改12。由以上對爬蟲類型和爬蟲框架的發(fā)展現(xiàn)狀分析,本課題使用Heritrix開源框架,并通過分析網(wǎng)絡(luò)上分布Web服務(wù)的網(wǎng)站的樹形結(jié)構(gòu)的架構(gòu),實現(xiàn)針對Web服務(wù)主題的網(wǎng)絡(luò)爬蟲。3、 目標和內(nèi)容:我的研究目

13、標是:把互聯(lián)網(wǎng)上廣泛分布的Web Service搜集起來,把相關(guān)信息存入數(shù)據(jù)庫,存在兩種情況:第一種情況:網(wǎng)站上的服務(wù)提供了關(guān)于服務(wù)的相關(guān)信息,那么本系統(tǒng)需要在抓取服務(wù)wsdl文檔的同時,獲取服務(wù)的相關(guān)信息。針對這種情況,主要的研究內(nèi)容如下:1.開源框架Heritrix的擴展 因為現(xiàn)有的開源爬蟲框架Heritrix提供了網(wǎng)絡(luò)搜索的基本結(jié)構(gòu),所以,我會擴展Heritrix框架,使該框架適用于本系統(tǒng)。a. 重新改寫Heritrix框架處理流程中的過濾鏈,以過濾不需要訪問的網(wǎng)頁。b. 重新改寫Heritrix框架處理流程中的提取鏈,以提取網(wǎng)頁包含的信息。c. 重新改寫Heritrix框架處理流程中的

14、寫鏈,以下載搜索到的wsdl文檔。 2.對網(wǎng)站服務(wù)分布結(jié)構(gòu)的分析a. 對網(wǎng)站所有Web Service的分類頁面進行分析,分析出含有所有Web Service的種類URl的table表格結(jié)構(gòu)和URL的結(jié)構(gòu)。b. 對某類別Web Service頁面進行分析,分析出含有所有該類別Web Service的詳細信息頁面URL的table表格結(jié)構(gòu)和URL的結(jié)構(gòu)。c. 對Web Service詳細信息頁面進行分析,分析出包含所有與該Web Service相關(guān)的信息的table表格結(jié)構(gòu)。通過對網(wǎng)站結(jié)構(gòu)的分析,可以得到網(wǎng)站中服務(wù)分布的一顆樹,并用形式化語言描述這棵樹。采用數(shù)據(jù)結(jié)構(gòu)中的樹結(jié)構(gòu)來描述網(wǎng)站服務(wù)的分布

15、樹,而經(jīng)過擴展之后的爬蟲得到根節(jié)點,并通過根節(jié)點對整棵樹進行遍歷,就實現(xiàn)了抓起網(wǎng)絡(luò)上分布的Web Service。第二種情況:網(wǎng)站上只提供了服務(wù)的wsdl文檔的url,沒有其它信息,那么本系統(tǒng)就只需要抓取服務(wù)的wsdl文檔,也就不需要分析網(wǎng)站服務(wù)分部結(jié)構(gòu)。針對第二種情況,主要的研究內(nèi)容如下:重新改寫Heritrix框架處理流程中的寫鏈,以下載搜索到的wsdl文檔。利用httpClient編寫下載wsdl程序。4、 方法和手段:在擴展Heritrix框架的過程中,遇到的問題或者使用的插件如下:1. 在改寫Heritrix框架的提取鏈時,需要從分析網(wǎng)站結(jié)構(gòu)中得到需要遍歷的網(wǎng)頁URL。2. 在改寫H

16、eritrix框架的寫鏈時,涉及到訪問遠程服務(wù)器,下載wsdl文檔。解決該問題時,我們用到了HTTPClient插件,該插件能夠?qū)崿F(xiàn)下載遠程服務(wù)器上的文檔,還可以設(shè)定連接時間等。3. 由于Heritrix框架提供了完善的UI界面操作,但是沒有提供完整的代碼啟動程序,同時本課題需要把爬蟲啟動操作嵌入到其他程序中,所以需要編寫Heritrix的代碼啟動模塊。在分析網(wǎng)站結(jié)構(gòu)時,需要用到HTMLParser插件,該插件能夠?qū)崿F(xiàn)對網(wǎng)頁的詳細分析,包括獲取所有網(wǎng)頁標簽信息等功能。利用該插件,我們可以準確無誤的獲取服務(wù)的所有詳細信息。在分析網(wǎng)頁結(jié)構(gòu)時,需要人工對網(wǎng)頁的包含信息的標簽進行分析,得到該下信息分布

17、的情況,然后使用HTMLParser準確定位到需求信息的位置,并提取信息。分析網(wǎng)站結(jié)構(gòu)過程如下:1. 提供一個包含所有Web service類別的網(wǎng)頁的URL,分析該網(wǎng)頁,用以上分析頁面的方法提取出所有的類別頁面的URL,取出一個服務(wù)類別頁面URL。2. 并對該類別頁面進行分析,提取出所有的Web service詳細信息頁面的URL。3. 對詳細信息頁面進行分析,提取出所有與Web service相關(guān)的信息。4. 把這些相關(guān)信息存入到數(shù)據(jù)庫中。5. 提取下一個類別URL。并重復(fù)2步驟。 爬蟲無限循環(huán)執(zhí)行對頁面的分析,直到?jīng)]有未訪問過的URL存在。五、可行性分析:網(wǎng)絡(luò)上Web服務(wù)的飛速增長,例如

18、網(wǎng)站的服務(wù)數(shù)量達到了2萬多個,且服務(wù)的種類很多,為本系統(tǒng)提供了非常好的搜索源。并且網(wǎng)站的分布結(jié)構(gòu)十分清晰,有利于我們設(shè)計簡單有效地搜索策略。同時網(wǎng)絡(luò)爬蟲技術(shù)的飛速發(fā)展,各種爬蟲開源框架的出現(xiàn),為我們的爬蟲系統(tǒng)提供了良好的技術(shù)基礎(chǔ)。在開源框架的基礎(chǔ)上,結(jié)合對Web服務(wù)網(wǎng)站的結(jié)構(gòu)分析,就可以實現(xiàn)對網(wǎng)絡(luò)上分布的Web服務(wù)抓取。4. 進度安排:1.學(xué)習(xí)與爬蟲相關(guān)的基本知識,至。 2.概念抽象,對于web services 爬蟲的分析和設(shè)計,至。3.構(gòu)建web services 爬蟲,至。 4.編程實現(xiàn)與爬蟲測試,至。5.基于此系統(tǒng),完成論文,提出自己的主張,至。5. 參考文獻:1孫立偉,何國輝,吳禮發(fā)

19、;網(wǎng)絡(luò)爬蟲技術(shù)研究;Computer Knowledge and Technology 電腦知識與技術(shù);Vol.4,No.15,May 2010,pp.4112-41152李盛韜,余智華,程學(xué)旗.Web信息采集研究進展【J】.計算機科學(xué),2003.3S.Chakrabarti,M.van den Berg and B.Dom.Focused Crawling: A New Approach to Topic-Specifi Web Resource DiscoveryC.In Proceedings of the 8th International World Wide Web Confere

20、nce, Toronto, Canada, 1999.4鄭力明,易平;Design of Crawler Based on HTML Parser Information Extraction;微計算機信息,Microcomputer Information;09,June,2009。 5J. Cho, H. Garcia-Molina. The evolution of the web and implications for an incremental crawler C. In Proceedings of the 26th Inter-national Conference on V

21、ery Large Database, Cairo, Egypt, 2000. 6李文澤;個性化垂直搜索引擎研究;河南大學(xué);2007-11-07;7曾偉輝,李淼. 深層網(wǎng)絡(luò)爬蟲研究綜述J. 計算機系統(tǒng)應(yīng)用, 2008. 8周立柱 ,林玲. 聚焦爬蟲技術(shù)研究綜述J.計算機應(yīng)用, 2005年9月.9S. Chakrabarti, M. van den Berg and B. Dom. Focused Crawling: A New Approach to Topic-Specific Web Resource Discovery C. In Proceedings of the 8th Inter

22、national World Wide Web Conference, Toronto, Canada, 1999. 10陳汶濱,夏學(xué)梅. 基于聚焦爬蟲的手機天氣預(yù)報系統(tǒng)J. 今日科苑. 2009年第2期.11邱哲,符滔滔. 開發(fā)自己的搜索引擎-Lucene 2.0+Heritrix. 人民郵電出版社, 2007-4.12羅剛. 自己動手寫網(wǎng)絡(luò)爬蟲. 清華大學(xué)出版社. 2010-10-1;13Heritrix官方網(wǎng)站EB/OL. 14網(wǎng)絡(luò)爬蟲15Roberston, L. Anecdotes Google search engine J. Annalsof the History of Com

23、puting, 2005, Volume 27: 96-97. 選題是否合適: 是 否課題能否實現(xiàn): 能 不能指導(dǎo)教師(簽字)年月日選題是否合適: 是 否課題能否實現(xiàn): 能 不能審題小組組長(簽字)年月日摘 要互聯(lián)網(wǎng)上的服務(wù)數(shù)量增長快速,網(wǎng)站提供的關(guān)于服務(wù)的信息也各異,導(dǎo)致用戶難以正確、快速的找到合適的服務(wù),為了解決以上問題,需要獲取和保存服務(wù)的WSDL的URL和相關(guān)的服務(wù)信息。本文完成了一個Web服務(wù)信息分析、抓取的網(wǎng)絡(luò)爬蟲,主要研究開發(fā)內(nèi)容有:1)分析服務(wù)網(wǎng)站結(jié)構(gòu):在抓取某個網(wǎng)站上的服務(wù)前,要人工的分析出該網(wǎng)站哪些頁面需要抓取,哪些頁面中哪些信息需要抓??;2)頁面信息提取:根據(jù)人工分析出的

24、哪些頁面中哪些信息需要抓取的結(jié)構(gòu),使用HtmlParser工具抓取頁面中的信息。3)下載WSDL文檔:在抓取到了服務(wù)WSDL的URL后,使用HtmlClient下載WSDL文檔。4)加載服務(wù)信息到數(shù)據(jù)庫:把在頁面信息提取中得到的關(guān)于服務(wù)的信息存入數(shù)據(jù)庫中。 通過對Web服務(wù)的抓取,用戶可以通過統(tǒng)一的入口來訪問這些服務(wù),而不用在互聯(lián)網(wǎng)上盲目搜索。為服務(wù)的使用和開發(fā)提供更加便利的平臺環(huán)境。關(guān)鍵詞:爬蟲;網(wǎng)絡(luò)服務(wù);WSDL;ABSTRACTThe number of services on the Internet Increase quickly,the information sites pro

25、vide about services is also different, leading to that it is difficult for users to correctly and quickly find the right services, in order to solve the above problems, needing to capture and store the services WSDL URL and related service information.This paper completed a Web Crawler about Web ser

26、vice information analysis and crawl.The main research and development contents are: 1) Analysis Service Web site structure: before capturing the services on a Web site,needingto manually analyze which pages of the site need to be captured, and which information in which pages needs to be captured; 2

27、) Page information extraction: According to the manual analysis that which information in which paper needs to be captured, then using HtmlParser tools to capture the information in the page; 3) Downloading the WSDL document: capturing the service WSDL URL, and then using HtmlClient to download the

28、WSDL document.4) Loading service information into the database: store theinformation about the service into the database.After Crawling the Web service, users can access Web servicesthrough a unified portal , rather than blindly searching on the Internet.Providing a more convenient platform environm

29、ent for the use and development of services.Key words:Crawler;Web service;WSDL;目 錄第一章 緒論11.1 問題的背景和意義11.2 研究目標和目的11.3 全文安排2第二章 相關(guān)工作和需求分析32.1 相關(guān)工作32.2 功能說明42.3 運行環(huán)境4第三章 面向web service的網(wǎng)絡(luò)爬蟲詳細設(shè)計53.1 總體架構(gòu)53.2 數(shù)據(jù)庫設(shè)計63.3 程序包設(shè)計73.4 流程設(shè)計8第四章 面向web service的聚焦網(wǎng)絡(luò)爬蟲技術(shù)實現(xiàn)134.1 分析網(wǎng)站服務(wù)分布結(jié)構(gòu)134.2 網(wǎng)頁內(nèi)容提取154.2.1 服務(wù)提供商集合

30、頁面內(nèi)容提取154.2.2 服務(wù)提供商頁面內(nèi)容提取184.2.3 服務(wù)詳細信息頁面內(nèi)容提取204.2.4 頁面鏈接提取224.3 下載WSDL文檔244.4 結(jié)果展示24第五章 總結(jié)和展望295.1 論文總結(jié)295.2 存在的問題和展望29參考文獻30外文資料中文譯文致 謝第1章 緒論1.1 問題的背景和意義 隨著互聯(lián)網(wǎng)的飛速發(fā)展,應(yīng)用程序的集成,軟件和數(shù)據(jù)的重用成為互聯(lián)網(wǎng)發(fā)展的障礙。Web 服務(wù)的出現(xiàn)有效的解決了以上難題。Web服務(wù)允許應(yīng)用開發(fā)者對不同語言,不同平臺的應(yīng)用程序進行集成,允許在程序中調(diào)用Web服務(wù)。正因為Web服務(wù)的有效的解決了以上問題,互聯(lián)網(wǎng)上的服務(wù)發(fā)展迅速,服務(wù)數(shù)量飛速增長

31、。服務(wù)數(shù)量的增長,使得用戶查找服務(wù)變得困難。另外,Web服務(wù)的發(fā)展也產(chǎn)生了另外一個應(yīng)用模式:組合應(yīng)用(Mushup),把不同的Web服務(wù)進行組合,滿足用戶需求?,F(xiàn)在,互聯(lián)網(wǎng)上存在許多被動的,集中式的服務(wù)注冊網(wǎng)站,這類網(wǎng)站上的服務(wù)可能大部分來源于網(wǎng)站國家的開發(fā)者,服務(wù)功能針對某一領(lǐng)域。但是通過主動式的爬取,獲得并存儲互聯(lián)網(wǎng)上的服務(wù),對服務(wù)進行集中管理,有利于對用戶提供統(tǒng)一的訪問方式,有利于對互聯(lián)網(wǎng)服務(wù)的分析,提高組合的效率。1.2 研究目的和主要內(nèi)容為了對互聯(lián)網(wǎng)服務(wù)進行集中管理,需要將互聯(lián)網(wǎng)上的服務(wù)信息存放到數(shù)據(jù)庫中。所以本論文的目的是:通過爬蟲抓取,得到互聯(lián)網(wǎng)上的Web服務(wù)信息,并把服務(wù)信息存

32、放到數(shù)據(jù)庫中。為了實現(xiàn)該目的,本論文的主要研究內(nèi)容包括:第一種情況:網(wǎng)站上的服務(wù)提供了關(guān)于服務(wù)的相關(guān)信息,那么本系統(tǒng)抓取服務(wù)WSDL文檔的同時,獲取服務(wù)的相關(guān)信息。針對這種情況,研究內(nèi)容如下:1.開源框架Heritrix的擴展 因為現(xiàn)有的開源爬蟲框架Heritrix提供了網(wǎng)絡(luò)搜索的基本結(jié)構(gòu),所以,我會擴展Heritrix框架,使該框架適用于本系統(tǒng)。a. 重新改寫Heritrix框架處理流程的過濾鏈,過濾不需要訪問的網(wǎng)頁。 b. 重新改寫Heritrix框架處理流程的提取鏈,提取網(wǎng)頁包含的信息。 c. 重新改寫Heritrix框架處理流程的寫鏈,下載搜索到的wsdl文檔。 2.對網(wǎng)站服務(wù)分布結(jié)構(gòu)

33、的分析 a. 對網(wǎng)站W(wǎng)eb服務(wù)的分類頁面進行分析,分析出含有所有Web服務(wù)的種類URL的table表格結(jié)構(gòu)和URL的結(jié)構(gòu)。 b. 對某類別Web Service頁面進行分析,分析出含有所有該類別Web服務(wù)的詳細信息頁面URL的table表格結(jié)構(gòu)和URL的結(jié)構(gòu)。 c. 對Web服務(wù)詳細信息頁面進行分析,分析出Web服務(wù)信息的table表格結(jié)構(gòu)。通過對網(wǎng)站結(jié)構(gòu)的分析,可以得到網(wǎng)站中服務(wù)分布的一顆樹,并用形式化語言描述這棵樹。采用數(shù)據(jù)結(jié)構(gòu)中的樹結(jié)構(gòu)來描述網(wǎng)站服務(wù)的分布樹,擴展后的爬蟲得到根節(jié)點URL,通過根節(jié)點對整棵樹進行遍歷,抓起網(wǎng)站所有的Web服務(wù)。第二種情況:網(wǎng)站上只提供了服務(wù)WSDL文檔的U

34、RL,本系統(tǒng)只抓取服務(wù)WSDL文檔,不需要分析網(wǎng)站服務(wù)分部結(jié)構(gòu)。針對第二種情況,主要的研究內(nèi)容如下:重新改寫Heritrix框架處理流程中的寫鏈,以下載搜索到的WSDL文檔。利用HttpClient編寫下載WSDL程序。1.3 全文安排全文共分為六章。5、 主要介紹本課題研究背景,以及研究意義,明確課題主要研究內(nèi)容,給出全文的組織結(jié)構(gòu)。6、 介紹了互聯(lián)網(wǎng)上的服務(wù)的分布情況和相關(guān)爬蟲技術(shù),并對需求進行分析,包括功能說明和運行環(huán)境。7、 提出了系統(tǒng)的設(shè)計和結(jié)構(gòu),其中包括總體架構(gòu)、數(shù)據(jù)庫的設(shè)計、工程包的設(shè)計和詳細的流程設(shè)計。8、 在第三章得基礎(chǔ)上給出了具體的實現(xiàn)方法,其中主要包括分析網(wǎng)站服務(wù)分部結(jié)構(gòu)

35、、頁面內(nèi)容提取、下載WSDL文檔以及結(jié)果展示。9、 是對全文工作的總結(jié),指出并分析了現(xiàn)階段存在的問題并展望了未來的發(fā)展前景。第二章 相關(guān)工作和需求分析2.1 相關(guān)工作隨著Web服務(wù)開發(fā)者數(shù)量的增加,互聯(lián)網(wǎng)上的Web服務(wù)數(shù)量以爆炸方式增長。伴隨著Web Service的數(shù)量的增長,越來越多的網(wǎng)站關(guān)注于如何吸引開發(fā)者把服務(wù)發(fā)布在他們的網(wǎng)站中,這些網(wǎng)站采用了服務(wù)開發(fā)者在該網(wǎng)站上注冊服務(wù)的方式來發(fā)布服務(wù)。 其中,seekda1網(wǎng)站是現(xiàn)有的最大的服務(wù)注冊網(wǎng)站,一共有7663個服務(wù)提供商在該網(wǎng)站上注冊,據(jù)統(tǒng)計,大約有2萬多個服務(wù)在該網(wǎng)站上進行發(fā)布。而且該網(wǎng)站上的服務(wù)發(fā)布信息比較齊全,提供了服務(wù)的可用率,用

36、戶標簽,提供商,發(fā)布服務(wù)器等信息。還有其它一些服務(wù)注冊網(wǎng)站,例如:、。盡管這些網(wǎng)站的數(shù)量不及seekda的多,但這些網(wǎng)站上的服務(wù)對用戶來說,也是有巨大意義的。其服務(wù)信息很豐富,需要把網(wǎng)絡(luò)上的服務(wù)抓取和集中管理。 網(wǎng)絡(luò)信息抓取的主要工具是網(wǎng)絡(luò)爬蟲,網(wǎng)絡(luò)爬蟲是一種按照一定的規(guī)則,自動的抓起萬維網(wǎng)信息的程序或者腳本。2現(xiàn)有的網(wǎng)絡(luò)爬蟲可以分為以下幾種類型3:通用網(wǎng)絡(luò)爬蟲12、聚焦網(wǎng)絡(luò)爬蟲15、增量式網(wǎng)絡(luò)爬蟲4、Deep Web爬蟲14。其應(yīng)用也十分廣泛,如:Google搜索引擎的爬蟲模塊就是一個通用網(wǎng)絡(luò)爬蟲,Google的爬蟲通過遍歷互聯(lián)網(wǎng)上的網(wǎng)頁,并提取網(wǎng)頁的信息,例如關(guān)鍵字、類型、網(wǎng)頁超鏈接等,然

37、后建立網(wǎng)頁索引。最后在這些網(wǎng)頁信息上建立搜索引擎,向用戶提供統(tǒng)一的訪問網(wǎng)頁的窗口5。聚焦網(wǎng)絡(luò)爬蟲也稱為主題爬蟲13,大量的應(yīng)用于互聯(lián)網(wǎng)中,例如基于聚焦爬蟲的手機天氣預(yù)報系統(tǒng)6,就是應(yīng)用了聚焦網(wǎng)絡(luò)爬蟲,通過計算頁面與天氣主題的相關(guān)度,抓取網(wǎng)絡(luò)上與天氣相關(guān)的頁面信息,并把對頁面進行索引,并向用戶提供統(tǒng)一訪問窗口。Web服務(wù)有其特定結(jié)構(gòu),Web服務(wù)網(wǎng)絡(luò)爬蟲不僅僅遍歷網(wǎng)頁,并建立索引,而且在遍歷網(wǎng)頁過程中,利用網(wǎng)頁分析工具解析網(wǎng)頁7,把Web服務(wù)相關(guān)信息抓取下來,如:注冊標簽、提供商、注冊時間、可用率、服務(wù)器等。Heritrix9是一個比較靈活、可擴展性強的網(wǎng)絡(luò)爬蟲開源框架,目前,已經(jīng)有很多應(yīng)用在該框

38、架上進行開發(fā),例如基于Heritrix的面向電子商務(wù)網(wǎng)站的信息抓取,該應(yīng)用就是在Heritrix網(wǎng)絡(luò)爬蟲開源框架的基礎(chǔ)上進行擴展、修改10,并建立特有的抓取策略來抓取網(wǎng)絡(luò)上的電子商務(wù)信息11。2.2 功能說明 本系統(tǒng)包含以下功能: 如果網(wǎng)站提供了詳細的服務(wù)信息,那么功能如下:6. 存儲服務(wù)的詳細信息 遍歷網(wǎng)站結(jié)構(gòu)過程中,如果頁面是服務(wù)詳細信息頁面,需要對頁面進行解析,把服務(wù)的詳細信息提取出來,并存入數(shù)據(jù)庫。詳細信息包括:服務(wù)描述文檔WSDL URL、服務(wù)提供商、服務(wù)注冊時間、服務(wù)可用率、服務(wù)運行服務(wù)器、服務(wù)標簽等。7. 下載WSDL文檔提取了Web服務(wù)詳細信息后,根據(jù)Web服務(wù)WSDL文檔的U

39、RL,下載WSDL文檔,并把文檔內(nèi)容存放到數(shù)據(jù)庫中。如果網(wǎng)站只提供了Web服務(wù)WSDL文檔的URL,那么系統(tǒng)在抓取網(wǎng)站過程中,只提取Web服務(wù)WSDL的URL,把該URL存入數(shù)據(jù)庫,并下載Web服務(wù)的WSDL文檔。2.3 運行環(huán)境要求程序能夠運行在如下環(huán)境中:操作系統(tǒng):Windows XP;運行平臺:MyEclipse 6.5以上;java 虛擬機:以上;數(shù)據(jù)庫:MySQL5.1第三章 面向web service的網(wǎng)絡(luò)爬蟲的詳細設(shè)計3.1 總體架構(gòu) 本系統(tǒng)采用的是廣度優(yōu)先策略,利用網(wǎng)絡(luò)爬蟲開源框架Heritrix的多線程管理、鏈接調(diào)度器模塊,擴展了Heritrix的處理鏈流程。 Heritri

40、x框架的多線程管理池可以提供50個線程同時進行抓取工作,F(xiàn)rontier調(diào)度器負責(zé)調(diào)度鏈接,F(xiàn)rontier把新鏈接加入到待訪問隊列中,把未訪問鏈接傳遞給線程。本系統(tǒng)針對兩類網(wǎng)站進行了處理鏈修改及擴展。 針對提供了詳細信息的服務(wù)網(wǎng)站,裁掉了一些Heritrix原有處理鏈,只保留了過濾鏈,提取鏈,寫鏈,并對三個處理鏈功能進行重新設(shè)定。l 過濾鏈主要負責(zé)根據(jù)網(wǎng)站服務(wù)分部結(jié)構(gòu)過濾掉不相關(guān)的鏈接。l 提取鏈主要負責(zé)解析頁面信息,提取的內(nèi)容包括:1.新的鏈接;2.服務(wù)詳細信息內(nèi)容;3、 寫鏈主要負責(zé)把服務(wù)信息存儲到數(shù)據(jù)庫中,下載WSDL文檔。 系統(tǒng)結(jié)構(gòu)圖如下:圖3-1 抓取詳細信息情況下的系統(tǒng)結(jié)構(gòu)圖 針

41、對網(wǎng)站只提供了服務(wù)WSDL文檔的URL,本系統(tǒng)的設(shè)計是:處理鏈保留過濾鏈、提取鏈和寫鏈,并對過濾鏈、提取鏈和寫鏈功能進行了重新設(shè)定。 過濾鏈主要負責(zé)過濾非本網(wǎng)站鏈接,爬蟲抓取的范圍局限于主網(wǎng)站,所有其他指向網(wǎng)站的鏈接都會過濾。提取鏈主要負責(zé)解析網(wǎng)頁內(nèi)容,提取服務(wù)WSDL 文檔的URL。寫鏈主要負責(zé)根據(jù)服務(wù)WSDL文檔的URL下載服務(wù)WSDL文檔。 系統(tǒng)結(jié)構(gòu)圖如下:圖3-2 抓取沒有詳細信息服務(wù)的系統(tǒng)結(jié)構(gòu)圖3.2 數(shù)據(jù)庫設(shè)計本系統(tǒng)的數(shù)據(jù)庫較簡單,只有一個表webServiceDetail,在兩種情況下,都需要存儲服務(wù)WSDL文檔的URL,在第一種情況下,需要存儲服務(wù)相關(guān)信息,這些相關(guān)信息包括:服

42、務(wù)提供商、服務(wù)注冊時間、服務(wù)可用率、服務(wù)用戶描述、服務(wù)服務(wù)器等,但是在第二種情況下,不需要存儲服務(wù)相關(guān)信息,只存儲服務(wù)WSDL文檔的URL。數(shù)據(jù)庫表定義如下:表3-1 webServiceDetail表 屬性名 數(shù)據(jù)類型 非空自增長默認值wsdlAddressVARCHAR(255)ProviderVARCHAR(30)monitoredSinceVARCHAR(50)serverVARCHAR(50)availabilityVARCHAR(50)descriptionVARCHAR(5000)descriptionByUserVARCHAR(1000)fileAddressVARCHAR(2

43、55)datedatatimestateVARCHAR(50)typeBoolean重要字段說明:wsdlAddress字段為主鍵,因為每個服務(wù)WSDL文檔的URL是唯一的。 type字段為true時,表示該服務(wù)有相關(guān)服務(wù)信息,為false時,表示該服務(wù)沒有相關(guān)的服務(wù)信息。3.3 程序包設(shè)計 本系統(tǒng)主要包括5大模塊,分別是:1. 過濾鏈模塊2. 提取鏈模塊3. 寫鏈模塊4. 管理訪問鏈接模塊5. 管理爬蟲多線程模塊相對應(yīng)的程序包設(shè)計圖如下:圖3-3 程序包設(shè)計圖l my.postprocessor是過濾鏈模塊的程序文件包,主要負責(zé)過濾無關(guān)的網(wǎng)頁鏈接。l my.extractor是提取鏈模塊的程

44、序文件包,主要負責(zé)對各種頁面進行信息提取。l my.writer是寫鏈模塊的程序文件包,主要負責(zé)下載WSDL文檔。l 是負責(zé)管理待訪問隊列的鏈接的程序文件包,向線程傳遞鏈接。l 是負責(zé)管理爬蟲線程的程序文件包,線程獲取鏈接,并訪問網(wǎng)頁的。3.4 流程設(shè)計 針對第一種情況,爬蟲抓取過程如圖3-4所示:圖3-4 第一種情況爬蟲抓取流程圖l 向爬蟲程序提供一個初始URL,該URL是服務(wù)提供商集合頁面的URL, 該URL被加入到待訪問隊列中。l 爬蟲線程管理器TreadPool詢問Frontier,檢查待訪問隊列中是否存在鏈 接,如果存在,TreadPool獲得該鏈接,并分配給一個線程。直到?jīng)]有空 閑

45、線程都在工作或者待訪問隊列中沒有多余的鏈接為止。l 爬蟲線程獲得鏈接后,首先經(jīng)過過濾鏈的處理,判斷鏈接頁面的類型, 并決定如何解析該頁面。l 鏈接進入了提取鏈,提取鏈直到了過濾鏈對鏈接頁面類型的判斷后,對 頁面進行不同策略的分析和提取。4.1 如果該頁面是服務(wù)提供商集合頁面,提取鏈就對該頁面進行提供商服務(wù)集合頁面鏈接的抓取,并把這些鏈接加入到待訪問隊列中。4.2 如果該頁面是提供商服務(wù)集合頁面,提取鏈就對該頁面進行服務(wù)詳細信息頁面鏈接的抓取,并把這些鏈接加入到待訪問隊列中。4.3 如果該頁面是服務(wù)詳細信息頁面,提取鏈就對該頁面進行服務(wù)詳細信息進行抓取。l 在提取鏈之后,就進入了寫鏈,如果是服務(wù)

46、詳細信息頁面,在數(shù)據(jù)庫中標 記該頁面類型為true,表示該數(shù)據(jù)庫記錄是一個提供商服務(wù)集合頁面相 關(guān)的內(nèi)容。還要把提取鏈中提取出來的服務(wù)信息存入服務(wù)詳細信息表中, 例如:服務(wù)提供商、服務(wù)注冊時間、服務(wù)可用率、服務(wù)標簽等。 針對第二種情況,爬蟲抓取過程如圖3-5所示:圖3-5 第二種情況爬蟲抓取流程圖1. 向爬蟲程序提供一個初始URL,該URL是待抓取網(wǎng)站的首頁URL,該 URL被加入到待訪問隊列中。2. 爬蟲線程管理器 TreadPool詢問Frontier,檢查待訪問隊列中是否存在鏈 接,如果存在,TreadPool獲得該鏈接,并分配給一個線程。直到?jīng)]有空 閑線程或者待訪問隊列中沒有多余的鏈接

47、為止。3. 爬蟲線程獲得鏈接后,首先經(jīng)過過濾鏈的處理,判斷鏈接頁面的類型, 并決定如何解析該頁面。4. 鏈接進入了提取鏈,提取鏈知道了過濾鏈對鏈接頁面類型的判斷后,對 頁面進行不同策略的分析和提取。4.1 如果該頁面是本網(wǎng)站的其他頁面,提取鏈就對該頁面進行鏈接抓取,并把這些鏈接加入到待訪問隊列中,并跳過寫鏈。4.2 如果該頁面是其他網(wǎng)站的頁面,提取鏈就忽略該頁面。跳過寫鏈。4.3 如果該頁面是服務(wù)WSDL文檔的URL,提取鏈就把該鏈接提交給寫鏈。5. 如果鏈接能夠進入了寫鏈,該鏈接是服務(wù)WSDL文檔的鏈接,所以先下 載該WSDL文檔,并在數(shù)據(jù)庫中添加一條記錄,并在字段type中標記為 fals

48、e,說明該服務(wù)是沒有詳細信息的。第四章 面向web service的聚焦網(wǎng)絡(luò)爬蟲的技術(shù)實現(xiàn)4.1 分析網(wǎng)站服務(wù)分布結(jié)構(gòu) 針對第一種情況,首先要分析網(wǎng)站服務(wù)的分布結(jié)構(gòu)。 現(xiàn)有的服務(wù)網(wǎng)站中,seekda網(wǎng)站的服務(wù)分布是有結(jié)構(gòu)、有規(guī)律的。所以我 對seekda網(wǎng)站的具體分析如下: 用戶在Seekda網(wǎng)站上有三種方式可以查找服務(wù):l 網(wǎng)站提供了強大的搜索功能,用戶可以在搜索頁面輸入服務(wù)名、服務(wù)標 簽、服務(wù)注冊時間等信息進行搜索。l 網(wǎng)站把同一類標簽的服務(wù),以標簽的方式顯示在首頁,用戶可以根據(jù)標 簽來找服務(wù),但是只是服務(wù)數(shù)量較多的標簽會顯示。l 網(wǎng)站按照提供商來進行分類,用戶可以查找每一個提供商,然后就

49、查找 到了每個提供商下的每個服務(wù)。方式1:爬蟲抓取網(wǎng)站所有服務(wù)是不可行的,因為爬蟲無法列舉所有可能的搜索條件。方式2:只有服務(wù)數(shù)量比較多的標簽會顯示,對于爬蟲來說,無法得到服務(wù)數(shù)量少的標簽。方式3:爬蟲可以得到所有的提供商,也就可以得到所有的服務(wù)。通過以上分析,得出以下結(jié)論: 針對seekda網(wǎng)站的抓取策略是先得到所有的提供商集合,然后進入每個提供商頁面,在提供商頁面,得到該提供商的所有服務(wù)。當爬蟲遍歷完所有的提供商頁面,也就抓取完所有的服務(wù)。 網(wǎng)站服務(wù)分部結(jié)構(gòu)如圖4-1所示:圖4-1 網(wǎng)站服務(wù)分布結(jié)構(gòu)圖要把網(wǎng)站結(jié)構(gòu)應(yīng)用于爬蟲中,就需要知道哪些頁面是服務(wù)詳細信息頁面、服務(wù)提供商頁面、服務(wù)提供商

50、集合頁面。我主要用了正則表達式來判斷這些頁面URL。得到網(wǎng)站服務(wù)分布結(jié)構(gòu)后,通過分析不同類型頁面的URL,用正則表達式來過濾無關(guān)網(wǎng)頁和判斷網(wǎng)頁類型。Seekda網(wǎng)站主要包含三種類型的頁面。下面就以提供商的QueryService服務(wù)為例,說明三種網(wǎng)頁的URL的特點。是一個服務(wù)提供商集合頁面URL,作為爬蟲的初始URL,由人外界輸入的。rs//?tab=servicelist&p=0是服務(wù)提供商的頁面URL,提供商名/?tab=servicelist&p=是相同的部分,是提供商名,根據(jù)這個規(guī)律,我們得出結(jié)論:所有以./?ta

51、b=servicelist&p=*結(jié)尾的URL就是服務(wù)提供商頁面。rg/QueryService是服務(wù)詳細信息頁面,是相同的部分,是提供商名,QueryService是服務(wù)名,根據(jù)這個規(guī)律,我得出結(jié)論:所有以./providers/*結(jié)尾的URL就是服務(wù)詳細信息頁面。 通過以上的結(jié)論,本系統(tǒng)在過濾鏈中判斷頁面類型的代碼如下:if(url.contains(/providers/alphabetic/)/該頁面時提供商集合頁面System.out.println(url+ 進入提供商集合頁面);/執(zhí)行操作1condition1(content,curi);elseif(url.

52、contains(/?tab=servicelist&p=)/該頁面時服務(wù)提供商頁面System.out.println(url+ 進入提供商頁面);/執(zhí)行操作2condition2(content,curi);elseif(url.contains(/providers/)/該頁面是服務(wù)詳細信息頁面System.out.println(url+ 進入服務(wù)詳細信息頁面);/執(zhí)行操作3condition3(content,curi);4.2 網(wǎng)頁內(nèi)容提取 經(jīng)過過濾鏈后,就進入提取鏈,在提取鏈中,需要根據(jù)網(wǎng)頁類型對網(wǎng)頁進行信息提取。 網(wǎng)頁信息的代碼結(jié)構(gòu)可能很復(fù)雜,那么就需要編寫一個很復(fù)雜的正則表達

53、式才能從代碼中提取信息。例如:在頁面中,存在一個標簽,在開發(fā)者編寫代碼時,會用一些空格來調(diào)整內(nèi)容的長度,根據(jù)內(nèi)容的不同,空格的長度也不同。如果用正則表達式來做,需要考慮很多情況。所以在提取的過程中,主要利用HtmlParser網(wǎng)頁解析工具對HTML代碼進行解析,該工具能根據(jù)HTML代碼中的標簽屬性找到標簽的全部內(nèi)容。 下面分別介紹四種頁面的內(nèi)容提取實現(xiàn)方式。4.2.1 服務(wù)提供商集合頁面內(nèi)容提取分析服務(wù)提供商集合頁面HTML代碼后,可以得知所有的服務(wù)提供商頁面URL都在一個屬性Class = “providerlist”的ul標簽中。在這個ul標簽中,每個服務(wù)提供商頁面URL都在一個a標簽中。

54、因為class = “providerlist”的ul在這個頁面中是唯一的,所以使用HTMLParser比較簡單。 程序流程如圖4-2所示:圖4-2 服務(wù)提供商集合頁面內(nèi)容提取流程圖 部分代碼如下: 1. 首先新建一個解析類Parser實例,Parser parser = null;try parser = new Parser(content); catch (ParserException e) return;2. 為需要尋找的標簽設(shè)置FIlter,以下代碼就是要找出屬性class=providerlist的ul標簽。NodeFilterattributes_filter = new AndFilter(new TagNameFilter(ul),new HasAttributeFilter(class, providerlist);NodeList nodelist = null;try nodelist = parser.parse(attributes_filter); catch (ParserException e) e.printStackTrace();return; 3. 得到了class=providerlist的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論