我有10.000个HTML页面。
我知道有些是使用相同的CMS系统构建的,因此具有相同结构的“种类”,但不完全相同。我希望有大约100种不同的CMS,但事先我不知道,所以我找不到预定义的模式。
这就是为什么我需要一个算法来计算每个页面的相似性度量,然后根据相似性对它们进行聚类..?
我很乐意在Ruby中找到一些工具,但也欢迎使用其他语言。
PS。我不想看内容(文本)的相似性。只想在元级别进行比较。像HTML结构,css规则,类名等等。
答案 0 :(得分:1)
在过去的生活中,我为一家公司编写了大量的分析软件,该公司必须通过大量的页面,轻松地说出您正在讨论的数字,来返回类似的信息。
无论您想如何确定相似性,您都必须自己编写规则。页面变化太大,代码无法真正理解“类似”的含义,也无法确定对您的特定用途有何重要意义。
你可以做的事情:
最后,您必须浏览页面并确定重要内容,而其他程序员无法猜出这些内容。
HTML结构,单个标签的顺序,并不像以前那么有用,因为CSS和JavaScript可以在加载到浏览器后将整个页面上的内容移动,因此眼睛看到的内容会有所不同很大程度上来自基于代码的标准工具。同一CMS的两个版本可以有完全不同的输出,但是,由于CSS / JavaScript,对于观看者来说看起来是一样的,所以你必须确定如何关联它们。