我正在尝试为网站实施污损检测器。为此,我应该开发一个Java工具,用于比较两个HTML文件之间的相似性。我打算剥离URL和JS单独处理它们。
我正在寻找一种工具/库/算法,我可以使用它来计算相似性度量(理想情况下的百分比),以便检测网站中的重大变化。
感谢您的帮助。
答案 0 :(得分:1)
由于HTML本质上只是一个基于文本的标记,因此最简单的方法是Levenshtein distance。该算法通过为每个加法,减法或删除单个字符分配单个点来确定2个输入字符串之间的差异,并确定此结果的“最短”距离。
非正式地说,两个单词之间的Levenshtein距离是最小的 单字符编辑数(插入,删除,替换) 需要将一个单词改为另一个单词。
Java can be found here的示例实现。
通过将Levenshtein距离除以最大输入字符串的长度,您可以计算出两个字符串之间的差异百分比。