0

我知道已经问过类似的问题,但我想知道是否存在一些代码\包,或者关于如何判断两个 url 是否是同一个页面的一些想法。

为了激励,假设我想做的是编写一个 chrome 扩展程序,告诉你有多少你的 facebook 朋友访问了一个链接。

当然,简单地比较 url 是行不通的,因为某些 url 参数可能很关键,而其他参数则不是,例如,与参数关键google.com?query=help的页面不同,而与(我当然正在编造这些示例)相同。google.com?query=ideaquerygoogle.com?referrer=facebookgoogle.com?referrer=twitter

此外,比较页面的内容并不能保证有效,好像有随机部分(“相关故事”)或用户特定内容(标题“嗨,诺姆,我们有一段时间没见到你了”)。

当然,我并不是在寻找一种万无一失的方法,只是在大多数正常行为的网站上都可以使用。

关于如何做到这一点的包(任何语言)或想法的任何好的建议?

4

2 回答 2

0

任何关于字符串比较的标准距离度量都应该为您提供各种 URL 内容的分数。据推测,更相似的内容将比不太相似的 URL 获得更好的分数,因此对结果进行排名并进行比较。

于 2012-06-08T23:33:39.143 回答
0

无法确保两个页面相同。可能有用户特定的内容(某些用户的登录按钮,其他用户的个人问候)、广告、浏览器特定的内容(Chrome 的 CSS3、Opera 的 CSS2、IE6 用户的驱动下载利用 :))

相同的资源可能在不同的 URL (/article/4-funny-ways-to-encrypt-your-shellcode-123456/article.php?id=123456) 下可用。可能有我的两个域用于相同的内容(www.domain.com并且domain.com,甚至可能domain.co.uk)。您可以从可能包含文件修改日期的标题中获得一些线索Last-Modified:,但是当涉及到动态内容时,它也可以包含生成日期。ETag如果正确实施,至少在 ruby​​ on rails 中可能有一个包含底层资源哈希的标头,但这种情况并不常见。

因此,您可能唯一能做的就是比较这些页面并计算一些指标。我会考虑域、IP 地址和页面内容进行比较。IP 地址和域(或域分数)的权重更高。所以你可以计算出一定的概率,但是没有办法保证两个页面是一样的

于 2012-06-08T23:47:35.363 回答