我对网络机器人应用程序有疑问。
url a:http://www.domain.com/path?id=1
url b:http://www.domain.com/path?id=1&sessionid=XXXXXX
有两个网址并转发到同一页面。网络应用程序下载页面两次。
在我的机器人应用程序中,访问了两个URL转换为md5值以进行检查。但url字符串已更改,因此md5值也已更改。访问缓存无法命中。
有更好的解决方案吗?
答案 0 :(得分:0)
如果我是你,我会使用算法来计算内容的相似性,如果它们与配置的阈值相似,则将它们视为同一文档。检查绝对相等(如MD5SUM)将无法工作,因为动态内容(如时间戳)会破坏此类方案。
使用文档相似性是网络抓取中的常用方法,可以防止机器人反复下载基本相同的内容。
像Levenshtein Distance这样非常简单的相似度算法可以完成这项工作,但像cosine similarity这样的东西更适合这种情况。