Algorithm 如何解决webrobot应用中不同url转发到同一页面的问题

Algorithm 如何解决webrobot应用中不同url转发到同一页面的问题,algorithm,url,web-crawler,Algorithm,Url,Web Crawler,我有一个关于网络机器人应用程序的问题 url a: url b: 有两个URL并转发到同一页面。robot应用程序将该页面下载两次 在我的robot应用程序中,访问了两个将URL转换为md5值以进行检查的URL。但url字符串发生了变化,所以md5值也发生了变化。访问的缓存无法命中 有更好的解决方案吗? < P>如果我是你,我会用一个算法来计算内容的相似度,如果它们与配置的阈值类似,就把它们看作是同一个文档。检查绝对相等(如MD5SUM)将不起作用,因为动态内容(如时间戳)会破坏这种方案 使用文

我有一个关于网络机器人应用程序的问题

url a:

url b:

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

在我的robot应用程序中,访问了两个将URL转换为md5值以进行检查的URL。但url字符串发生了变化,所以md5值也发生了变化。访问的缓存无法命中


有更好的解决方案吗?

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

使用文档相似性是web爬行中的常见方法,以防止机器人反复下载本质上相同的内容


一个非常简单的相似性算法可以完成这项工作,但类似的算法更适合于此。

在对md5进行哈希运算之前删除参数?@ThomasJungblut-可能,
id=2
会导致另一个页面。您正在。。。?C#可以提供客户端重定向到的最后一个URI。@Egor Skriptunoff-你说得对。id=1或id=2等参数的发送请求将返回正确的页面内容。但即使带有id参数的url从未更改,并且带有其他一个或多个参数,如sessionid=XXXXXX、checked=true等等。url唯一密钥(MD5)将被更改。感谢您的回答。我受到启发。但是当我计算页面内容时,比如(id=1,id=1&sessionid=xxx),机器人已经下载了页面。内容哈希md5值绝对相等,也许我应该添加一个层来收集url引用到文档和唯一的url(我认为是最短的url)?当新url出现时,请检查url和多个url对唯一url的引用。但是sessionid=xxx这样的参数可能会改变。@gao.yang:我想您应该使用实际的页面内容(而不是url)来计算文档的相似性。与实际html和中的内容相同。这是昂贵的,但考虑到网络是如此混乱,我想不出一种不使用实际原始内容就能处理的方法。