1

I am trying to implement a defacement detector for websites. To achieve this, I should develop a tool in Java that compares similarity between two HTML files. I intend to strip URLs and JS to treat them seperately.

I am looking for a tool/ library /algorithm that I could use to calcuate a similarity metric (percentage ideally) in order to detect significant changes in websites.

Thank you for your help.

4

1 回答 1

1

由于 HTML 本质上只是基于文本的标记,因此最简单的方法是Levenshtein distance。该算法通过为单个字符的每次添加、减去或删除分配一个点来确定 2 个输入字符串之间的差异,并确定此结果的“最短”距离。

通俗地说,两个单词之间的 Levenshtein 距离是将一个单词更改为另一个单词所需的最小单字符编辑(插入、删除、替换)次数。

可以在此处找到Java 的示例实现。

通过将 Levenshtein 距离除以最大输入字符串的长度,您可以计算两个字符串之间的差异百分比。

于 2013-06-14T02:21:34.287 回答