2008年7月17日

HtmlCleaner 2.0 released!

新版本帶來數個改進與修正,包括:
  • 完整代碼重構,讓Cleaner的API更好並更有彈性
  • 增加維護DOM結構的物件方法
  • 增加基本的XPath支援
  • 新的參數用來控制cleaner的行為
更多訊息可以參考發行公告.

HtmlCleaner是一套開放原始碼的HTML解析器,使用JAVA撰寫。許多網站的HTML碼通常很凌亂、格式不佳並不適合用在進階的處理。對於這樣的網頁文件,必須先對其內容作清理。對於所給的HTML代碼,HtmlCleaner重新排列個別的元素並產生格式良好的XML,它預設是根據大多數瀏覽器用來建構DOM的相同規則。然而,使用者也可以提供自訂的標籤和規則集來進行標籤的過濾與平衡處理。

這裡提供一個範例,一個結構不良的HTML代碼,包含未有對應結束標籤的起始標籤以及少了引號:

<table id=table1 cellspacing=2px
<h1>
CONTENT</h1>
<td><a href=index.html>1 -> Home Page</a>
<td><a href=intro.html>2 -> Introduction</a>

在使用HtmlCleaner處理後,XML的輸出就像下列的樣子:

<?xml version="1.0" encoding="UTF-8"?>
<html>
<head />
<body>
<h1>CONTENT</h1>
<table id="table1" cellspacing="2px">
<tbody>
<tr>
<td>
<a href="index.html">1 -> Home Page</a>
</td>
<td>
<a href="intro.html">2 -> Introduction</a>
</td>
</tr>
</tbody>
</table>
</body>
</html>


這是一個很酷的工具,對於需要撰寫自動化網頁處理的人來說,一定有相當的實用性,使用DOM可以很簡單地存取XML的內容,但往往網頁設計者並沒有依照W3C的XHTML要求撰寫代碼,所以使用一般XML的Parser,解析結果一定是一團糟糕,HtmlCleaner似乎讓我們省了不少功夫。

沒有留言:

張貼留言

lyhcode by lyhcode
歡迎轉載,請務必註明出處!