如何在Web机器人应用程序中解决不同的url转发到同一页面

时间:2013-05-19 14:54:28

标签: algorithm url web-crawler

我对网络机器人应用程序有疑问。

url a:http://www.domain.com/path?id=1

url b:http://www.domain.com/path?id=1&sessionid=XXXXXX

有两个网址并转发到同一页面。网络应用程序下载页面两次。

在我的机器人应用程序中,访问了两个URL转换为md5值以进行检查。但url字符串已更改,因此md5值也已更改。访问缓存无法命中。

有更好的解决方案吗?

1 个答案:

答案 0 :(得分:0)

如果我是你,我会使用算法来计算内容的相似性,如果它们与配置的阈值相似,则将它们视为同一文档。检查绝对相等(如MD5SUM)将无法工作,因为动态内容(如时间戳)会破坏此类方案。

使用文档相似性是网络抓取中的常用方法,可以防止机器人反复下载基本相同的内容。

Levenshtein Distance这样非常简单的相似度算法可以完成这项工作,但像cosine similarity这样的东西更适合这种情况。