1

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

网址一:http ://www.domain.com/path?id=1

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

有两个 url 并转发到同一个 page.robot 应用程序下载该页面两次。

在我的机器人应用程序中,两个 URL 转换为 md5 值以检查是否被访问。但是 url 字符串改变了,所以 md5 值也改变了。访问过的缓存不能命中。

有更好的解决方案吗?

4

1 回答 1

0

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

使用文档相似性是网络爬虫中的一种常用方法,以防止机器人一遍又一遍地下载基本相同的内容。

Levenshtein Distance这样非常简单的相似度算法可以完成这项工作,但余弦相似度之类的算法更适合于此。

于 2013-05-19T15:40:13.297 回答