什麼我要完成的描述:構建一個HTML比較/補丁算法
- 輸入2(N不是必需的)HTML文檔。
- 標準化HTML格式
- 比較兩個文檔 - 外部樣式並不重要,但包含任何內嵌到文檔的內容。
- 確定HTML塊元素級別的增量。
擴大的最後一點:
想象的同一部位的兩個頁面,這兩個份額什麼可能是一個共同的祖先已經複製/粘貼一個側邊欄。每個頁面都有一些對側邊欄的小改動。差異會揭示這些變化,然後我可以「走上」DOM找到它們共享的第一個公共塊元素,或者只是默認爲<body>
。在這種情況下,我想走一遍,發現它們共享一個共同的<div id="sidebar">
。
我對DaisyDiff很熟悉,應用程序類似 - 在CMS世界中。
我也開始玩谷歌diff-patch庫。
我想問一下這種非特定的問題,希望能夠徵求任何人認爲可能有用的建議或指導。目前,如果你把槍放在我的頭上,並說「CODE IT」,我會用Python重寫DaisyDiff,並插入這個塊級邏輯。但我想也許有更好的辦法,Anyone have a diff algorithm for rendered HTML?的答案讓我感到溫暖和模糊。
相關:http://stackoverflow.com/questions/1576459/generate-pretty-diff-html-in-python。 –
我不確定您的具體應用,但像http://www.readability.com/這樣的項目使用DOM排名算法來提取相關內容。如果你只想在頁面的核心上進行區分,那麼這樣做可能是有意義的 –
希望聽到關於這個項目的更新;如果你設法找到你要找的東西,並且如果你計劃開放它的任何東西:) – onassar