亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 18.txt

?? This complete matlab for neural network
?? TXT
字號:
發信人: zrs (tita), 信區: DataMining
標  題:  基于 Web 的數據挖掘 
發信站: 南京大學小百合站 (Fri Mar 22 16:25:47 2002)

自動抽取用 HTML、XML 和 Java 編寫的信息 

Jared Jackson (jjared@almaden.ibm.com)

Jussi Myllymaki (jussi@almaden.ibm.com)

IBM 研究員

2001 年 6 月


不可否認,萬維網是到目前為止世界上最豐富和最密集的信息來源。但是,它的結構使它
很難用系統的方法來利用信息。本文描述的方法和工具將使那些熟悉 Web 最常用技術的開
發人員能快速而便捷地獲取他們所需的以 Web 方式發布的信息。

在信息時代快速成長起來的萬維網導致各種各樣的公用信息被大量分發。不幸的是,盡管
作為信息主要載體的 HTML 提供了一種方便地向讀者呈現信息的方法,但它可能并不是一
個很好的可以從中自動抽取與數據驅動的服務或應用程序相關的信息的結構。


已經嘗試了多種方法來解決這個問題。大多數方法都采用一些專用查詢語言的形式把 HTM
L 頁面的各個部分映射成代碼,而這些代碼將 Web 頁面上的信息填入到數據庫中。盡管這
些方法可能提供一些好處,但大部分會因為以下兩個原因變得不切實際:首先,它們需要
開發人員花時間去學習一種無法在其它情況下使用的查詢語言,其次,它們還不夠健壯到
能處理不可避免的對目標 Web 頁面的簡單更改。


在本文中,將討論使用標準 Web 技術—— HTML、XML 和 Java ——開發的一種基于 Web
 的數據挖掘方法。這種方法即使不比其它專用方法更強大,也和其它方法不相上下,并且
對于那些已經熟悉 Web 技術的人來說,只需要付出很少的努力就可以收到很好的效果。另
外,本文還附送了許多開始數據抽取所需的代碼。


HTML:優點與缺點

HTML 通常是一個很難用程序手段處理的媒體。Web 頁面中的大多數內容描述與數據驅動的
系統無關的格式編排,并且,由于要動態添加標題以及編寫其它服務器端腳本,所以文檔
結構可能在每次連接到頁面時都需要進行更改。又因為所有 Web 頁面主要部分的格式編排
不合理,所以使問題變得更為復雜,其結果是現在的 Web 瀏覽器在進行 HTML 語法分析時
非常不嚴謹。 


盡管存在這些問題,但是 HTML 在數據挖掘方面仍然具有優勢。您所感興趣的數據通常可
以用 HTML 樹中深度嵌套的單個 <table> 或 <div> 標記隔離開來。這使得抽取過程可以
專門在文檔的一小部分內執行。在缺少客戶機端腳本的情況下,只有一種定義下拉菜單和
其它數據列表的方法。HTML 的這些方面允許我們在一旦擁有可用格式的數據時能集中精力
于數據抽取。


背景技術

這里描述的數據挖掘技術的關鍵是把現有的 Web 頁面轉換成 XML,或轉換成 XHTML 可能
更適當,并使用眾多工具中的一小部分來處理 XML 結構的數據,以檢索出適當的數據。



幸好有一個解決方案可以改正 HTML 頁面設計的薄弱之處。Tidy(可以從一些編程語言中
獲取的庫)是一個免費使用的產品,可用于改正 HTML 文檔中的常見錯誤并生成格式編排
良好的等價文檔。還可以使用 Tidy 來生成 XHTML(XML 的子集)格式的這些文檔。(請
參閱參考資料)。


本文中的代碼示例是用 Java 編寫的,并且在編譯和運行它們時,需要在您系統的 class
path 中存在 Tidy jar 文件。它們還需要通過 Apache 項目、Xerces 和 Xalan 使 XML 
庫可用。這兩個庫都基于 IBM 提供的代碼并分別控制 XML 語法分析和 XSL 變換。這三種
庫中的每一個都可從 Web 上免費獲取,要找到它們,可以追隨上述鏈接或參考本文后面的
參考資料。理解 Java 編程語言、XML 和 XSL 變換將對您理解以下示例有幫助。有關這些
技術的參考資料,可以在本文后面找到。


方法概述和示例簡介

我們用示例的方式來介紹數據抽取的方法。假設我們有興趣跟蹤幾個月以來每天不同時間
測得的華盛頓州西雅圖的溫度和濕度級別。假如,沒有現成的軟件用于報告此類信息以滿
足我們的需求,我們仍然擁有從眾多公共網站收集此類信息的機會。


圖 1 舉例說明了抽取的全過程。Web 頁面只有在創建了一個可合并到現有數據集的數據集
后才會被檢索和處理。


圖 1. 概要說明抽取過程



只需要很少的幾個步驟,我們就可以擁有一個收集我們信息的合適而可靠的系統。這里列
出這些步驟是為了提供該過程的簡要概述,圖 1 中顯示的是這一過程的較高形式。


標識數據源并把它映射成 XHTML。 

查找數據內的引用點。 

將數據映射成 XML。 

合并結果并處理數據。 

這些步驟中的每一步都將加以詳細說明,并將提供執行它們所必需的代碼。


獲取信 XHTML 格式的源信息

為了抽取數據,當然需要知道可以在哪里找到它。在大多數情況下,源信息是顯而易見的
。如果要從 developerWorks 收集文章的標題和 URL,我們將使用 http://www.ibm.com/
developerWorks 作為我們的目標。在天氣這個例子中,我們有若干可供選擇的信息源。我
們將在示例中使用 Yahoo!Weather,但使用其它信息源也具有同等效果。我們將特別跟蹤
 URL:http://weather.yahoo.com/forecast/Seattle_WA_US_f.html 上的數據。圖 2 顯
示了這個頁面的屏幕快照。


圖 2. 華盛頓州西雅圖的 Yahoo! Weather Web 頁面



在考慮信息源時,牢記以下這些要素非常重要:


信息源是否是在可靠的網絡連接上生成可靠的數據? 

信息源從現在起將存在多久?一個星期、一個月或甚至一年? 

信息源的布局結構有多穩定? 

我們尋求能夠在動態環境下工作的健壯的解決方案的過程中,在抽取可用的最可靠和最穩
定的信息源時,我們的工作將是最簡單的。


一旦確定了信息源,我們在抽取過程中的第一步就是將數據從 HTML 轉換成 XML。我們將
通過構造名為 XMLHelper(由 static helper 函數組成)的 Java 類來完成這一任務以及
其它與 XML 相關任務。這個類的全部信息源可以通過以下到 XMLHelper.java 和 XMLHel
perException.java 的鏈接找到。隨著本文的繼續展開,我們將構建這個類的方法。


我們使用 Tidy 庫提供的函數在 XMLHelper.tidyHTML() 方法中執行轉換。這個方法接受
 URL 作為一個參數并返回一個“XML 文檔”作為結果。當調用此方法或任何其它與 XML 
相關的方法時,請仔細檢查是否有任何異常。清單 1 中顯示了執行這些操作的代碼。圖 
3 顯示了代碼結果,Microsoft 的 Internet Explorer XML 查看器使用 Weather 頁面中
的 XML。


圖 3. 轉換成 XHTML 的 Yahoo! Weather Web 頁面



查找數據的引用點

請注意,無論是在 Web 頁面還是源 XHTML 視圖中的絕大多數的信息都與我們完全無關。
我們接下來的一個任務是在 XML 樹中找出一個特定區域,我們可從中抽取我們的數據而無
需關心外來信息。對于更復雜的抽取,我們可能需要在單個頁面上找出這些區域的若干實
例。


完成這一任務的最簡單的辦法通常是,首先檢查 Web 頁面,然后使用 XML。只需要看一下
頁面,就可以知道我們正在查找的信息位于頁面的中上部區域中。即使對 HTML 的熟悉程
度非常有限,也很容易推斷出我們正在查找的數據可能都包含在同一個 <table> 元素下,
并且這個表可能總是包含象“Appar Temp”和“Dewpoint”這樣的字,無論當天的數據可
能是什么。


記下我們觀察到的內容,現在要考慮頁面所生成的 XHTML。搜索“Appar Temp”的文本(
如圖 4 所示)說明該文本確實在一個包含我們所需的所有數據的表中。我們將把該表作為
引用點或錨。


圖 4:通過查找包含文本“Appar Temp”的表找到錨



現在,我們需要找到這個錨的方法。因為我們正準備使用 XSL 來轉換我們的 XML,所以可
以使用 XPath 表達式來完成這個任務。我們將使用以下這個普通的表達式:



/html/body/center/table[6]/tr[2]/td[2]/table[2]/tr/td/table[6]


 


這個表達式指定了從根 <html> 元素到錨的路徑。這個普通的方法將導致我們對頁面布局
的修改非常容易遭到破壞。較好的方法是根據周圍的內容指定錨。通過使用這個方法,我
們把 XPath 表達式重新構造成:



//table[starts-with(tr/td/font/b,'Appar Temp')]


 


...更好一些,可以利用 XSL 將 XML 樹轉換成字符串的方法:



//table[starts-with(normalize-space(.), 'Appar Temp')]


 


將數據映射成 XML

擁有這個錨,我們可以創建實際抽取數據的代碼。這個代碼將以 XSL 文件的形式出現。X
SL 文件的目的是標識錨,指定如何從錨獲取我們正在查找的數據(以簡短跳躍的方式),
并且用我們所需的格式構造一個 XML 輸出文件。這個過程實際上比想象的要簡單得多。清
單 2 給出了將執行這個過程的 XSL 代碼,這些代碼還可以作為一個 XSL 文本文件獲取。


<xsl:output> 元素僅告訴處理器我們希望的的變換結果是 XML。第一個,<xsl:template
> 建立名為 <xsl:apply-templates> 的根元素以搜索錨。第二個,<xsl:template> 讓我
們只匹配需要匹配的內容。最后那個,<xsl:template> 在 match 屬性中定義錨,然后告
訴處理器跳到我們嘗試挖掘的溫度與濕度數據。


當然,只編寫 XSL,作業將不會完成。我們還需要一個執行轉換的工具。因此,我們利用
 XMLHelper 類方法對 XSL 進行語法分析并執行這個轉換。執行這些任務的方法分別名為
 parseXMLFromURL() 和 transformXML()。清單 3 給出了使用這些方法的代碼。


清單 3 


/**

 * Retrieve the XHTML file written to disk in the Listing 1

 * and apply our XSL Transformation to it. Write the result

 * to disk as XML.

 */


public static void main(String args[]) {

  try {

    Document xhtml = XMLHelper.parseXMLFromURLString("file://weather.xml");

    Document xsl   = XMLHelper.parseXMLFromURLString("file://XSL/weather.xsl")
;

    Document xml   = XMLHelper.transformXML(xhtml, xsl);

    XMLHelper.outputXMLToFile("XML" + File.separator + "result.xml");

  } catch (XMLHelperException xmle) {

    // ... Do Something ...

  }

}


 



合并與處理結果

如果我們只執行一次數據抽取,我們現在已經完成了。但是,我們并不只是想知道某一時
刻的溫度,而是要知道若干不同時刻的溫度。現在,我們需要做的是反復執行抽取過程,
把結果合并到單個 XML 數據文件中。我們本來可以再次使用 XSL 執行,但我們將為把 X
SL 文件合并到 XMLHelper 類中最后創建一個方法。mergeXML() 方法允許我們把在當前抽
取中獲得的數據合并到包含以前抽取數據的檔案文件中。


WeatherExtractor.java 文件中給出了用于運行整個過程的代碼。我把程序執行調度任務
留給讀者,因為執行這些任務的與系統相關的方法通常比簡單的編程方法高級。圖 5 顯示
了每天運行一次 WeatherExtractor,共運行四天的結果。


圖 5. Web 抽取的結果



結束語

在本文中,我們已經描述并證明從目前存在的最大信息來源——萬維網——抽取信息的強
壯方法的基本原則。我們還討論了能夠使任何 Java 開發人員花最少的精力和具備最少的
抽取經驗就可以開始他們自己抽取工作所必需的編碼工具。盡管本文中的示例僅集中于抽
取有關華盛頓,西雅圖天氣的信息,但是這里出現的所有代碼幾乎都可以在任何數據抽取
中重復使用。事實上,除對 WeatherExtractor 類進行少許更改外,需要為其它數據挖掘
項目進行更改的代碼只有 XSL 變換代碼(順便提一下,它從不需要編譯)。


這種方法與想象中的一樣簡單。通過明智地選擇可靠的數據源以及在這些數據源中選取與
內容相關但與格式無關的錨,可以使您擁有一個維護成本低廉,可靠的數據抽取系統。并
且,根據經驗級別和要抽取的數據量,您可以在一小時之內就能安裝與運行它。


參考資料 


Tidy for Java 由 Sami Lempinen 維護,并可從 SourceForge 下載。 

XML 庫、Xerces 和 Xalan 可以從 Apache Project 網站獲取。 

有關 XML 的更詳細信息,developerWorks 提供了一個與該技術相關的專區。 

有關 XSL 和 XPath 的教程有很多,可以使用您喜愛的 Web 搜索引擎找到它們。 

Jussi Myllymaki 著有一篇有關 ANDES 系統中 Web 搜尋與數據抽取之間關系的論文,刊
登在香港的 WWW10 上。 

這里有一些使網站個性化的技術,以及使站點性能最大化的提示。 

“管理網站性能”介紹了如何對網站性能從瀏覽器到數據庫服務器以及舊系統,進行微調

關于作者 

Jared Jackson 自 2000 年 5 月 Harvey Mudd 大學畢業以來一直在 IBM Almaden Resea
rch Center 工作。Jared 還是斯坦福大學“計算機科學”系的研究生。可通過 jjared@a
lmaden.ibm.com 與 Jared 聯系。  


 

 Jussi Myllymaki 于 1999 年作為“研究職員”加盟 IBM Almaden Research Center,并
從麥迪遜的威斯康星大學獲得博士學位。可通過 jussi@almaden.ibm.com 與 Jussi 聯系
 

英文原文  

 http://www-900.ibm.com/developerWorks/xml/x-wbdm/index_eng.shtml

 



--

※ 來源:.南京大學小百合站 http://bbs.nju.edu.cn [FROM: 218.0.250.175]

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91免费观看视频| 国产精品国产三级国产专播品爱网| 激情综合网av| 日韩美女久久久| 日韩精品一区二区在线| 成人动漫在线一区| 日本不卡免费在线视频| 17c精品麻豆一区二区免费| 欧美α欧美αv大片| 一本色道久久综合狠狠躁的推荐| 麻豆免费看一区二区三区| 亚洲精品菠萝久久久久久久| 久久久精品影视| 日韩一级免费观看| 欧美主播一区二区三区| 成人少妇影院yyyy| 精品一区二区三区在线播放| 亚洲国产va精品久久久不卡综合| 国产欧美日韩视频一区二区| 欧美一卡二卡在线| 欧美日韩一区二区欧美激情| 91啪亚洲精品| 成人综合婷婷国产精品久久| 国产一区欧美二区| 美女脱光内衣内裤视频久久网站 | 欧美一区二区福利在线| 91极品视觉盛宴| 91免费视频网| 91丨九色丨尤物| eeuss鲁一区二区三区| 国产成a人亚洲精品| 国产老肥熟一区二区三区| 美女视频免费一区| 日韩中文字幕区一区有砖一区 | 亚洲成人av一区| 亚洲日本乱码在线观看| 中文字幕一区二区视频| 中文一区在线播放| 欧美一区二视频| 久久久精品综合| 91精品国产91热久久久做人人| 色噜噜久久综合| 一本色道久久加勒比精品| 99热在这里有精品免费| 99精品在线观看视频| 成人毛片在线观看| 成人美女在线视频| 99精品视频免费在线观看| 成人午夜又粗又硬又大| 波多野结衣亚洲| 99re热视频精品| 91成人免费网站| 欧美日本免费一区二区三区| 欧美日韩另类国产亚洲欧美一级| 欧美日韩亚洲高清一区二区| 欧美日韩激情在线| 91精品视频网| 精品美女在线观看| 欧美成人aa大片| 久久精品人人做| 亚洲视频狠狠干| 亚洲自拍偷拍av| 麻豆成人久久精品二区三区小说| 久久99热这里只有精品| 高清久久久久久| 91麻豆国产香蕉久久精品| 欧美日韩国产精选| 精品精品国产高清一毛片一天堂| 国产日韩亚洲欧美综合| 亚洲精品自拍动漫在线| 日韩成人av影视| 国产成人av电影在线观看| 色悠悠亚洲一区二区| 91精品麻豆日日躁夜夜躁| 久久九九99视频| 1区2区3区欧美| 奇米精品一区二区三区在线观看一| 精品一区二区三区在线观看 | 99精品视频在线观看| 欧美日韩亚洲不卡| 久久精品免视看| 亚洲一区二区三区在线看| 久久69国产一区二区蜜臀| 99这里都是精品| 日韩欧美国产综合在线一区二区三区| 国产欧美视频一区二区三区| 亚洲sss视频在线视频| 国产成人免费视频| 欧美日韩国产在线观看| 欧美国产禁国产网站cc| 午夜激情一区二区三区| 成人av午夜电影| 欧美一区二区精美| 亚洲日本免费电影| 国产高清无密码一区二区三区| 欧美中文字幕亚洲一区二区va在线 | 欧美高清视频一二三区 | 久久精品人人做人人爽97| 亚洲成人动漫精品| 在线免费av一区| 国产日韩精品一区二区浪潮av| 亚洲成人资源网| 91视视频在线观看入口直接观看www| 日韩精品一区二区三区在线播放| 亚洲精品国产第一综合99久久| 精品亚洲成av人在线观看| 欧美亚洲综合一区| 国产欧美一区二区精品性| 七七婷婷婷婷精品国产| 一本大道av一区二区在线播放| 国产日韩欧美激情| 久久精品国产精品亚洲精品| 欧美性猛交xxxxxx富婆| 中文字幕制服丝袜一区二区三区| 精品制服美女丁香| 在线播放欧美女士性生活| 亚洲精品高清在线| 91在线观看污| 中文字幕中文字幕一区| 国产精品一区二区久久不卡| 日韩免费视频一区二区| 午夜欧美在线一二页| 欧美亚洲综合一区| 一区二区三区在线视频观看| 91女神在线视频| 亚洲色图20p| 色综合久久综合网| 亚洲视频中文字幕| 99久久久国产精品| 中文字幕中文字幕一区| 99re这里只有精品视频首页| 国产日韩三级在线| 成人午夜又粗又硬又大| 国产精品天天看| 本田岬高潮一区二区三区| 中文字幕欧美日韩一区| 国产电影一区在线| 国产丝袜在线精品| 国产.精品.日韩.另类.中文.在线.播放| 久久婷婷综合激情| 国产一区二区视频在线播放| 欧美不卡一区二区三区四区| 国产一区二区三区四区五区美女| xnxx国产精品| 成人18精品视频| 综合电影一区二区三区| 在线观看亚洲精品视频| 亚洲国产精品一区二区www| 欧美日韩aaa| 免费成人av在线播放| 久久久久久影视| 国产成人无遮挡在线视频| 国产精品国产三级国产aⅴ入口 | 精品亚洲porn| 国产亚洲精品超碰| 99久久国产免费看| 亚洲日本乱码在线观看| 欧美精品一二三四| 国内精品伊人久久久久av影院| 国产亚洲一区二区三区在线观看 | 欧美三片在线视频观看 | 91麻豆产精品久久久久久| 亚洲国产美国国产综合一区二区| 7777精品伊人久久久大香线蕉的 | 久久久久久久久久久久久女国产乱| 懂色av一区二区在线播放| 亚洲人一二三区| 日韩亚洲欧美在线| 国产麻豆91精品| 亚洲免费在线观看| 日韩一区二区在线观看视频 | 国产精品久久久久婷婷| 91国产精品成人| 久久99久国产精品黄毛片色诱| 日本一区二区三区国色天香| 欧美色综合网站| 久久99久久精品欧美| 综合色中文字幕| 日韩一区二区三区免费看 | 在线观看精品一区| 极品少妇xxxx精品少妇| 亚洲欧美激情一区二区| 欧美一区二区精品久久911| 99国产精品国产精品久久| 五月激情丁香一区二区三区| 亚洲国产精品黑人久久久| 欧美精选午夜久久久乱码6080| 国v精品久久久网| 日本最新不卡在线| 日韩毛片在线免费观看| 精品久久五月天| 欧日韩精品视频| 国产成人精品免费| 日韩**一区毛片| 一区二区三区在线观看动漫| 久久只精品国产| 91精品国产色综合久久ai换脸| 成人一区二区三区在线观看| 免费观看30秒视频久久| 一区二区三区在线视频播放|