我不确定这个问题是否有一个单一的答案,或者是否有一个简洁的答案适用于所有的答案,但我还是想问一下。这个问题并不特定于某种语言,但可能会有一些伪算法作为答案。
基本上,我正在尝试了解蜘蛛如何工作,从我所发现的来看,我没有找到任何一个管理层次结构的蜘蛛。他们只列出内容或链接,但没有排序。
我的问题是:我们查看一个站点,并可以轻松地确定哪些链接是导航、与内容相关或外部网站。我们如何自动化这个过程?我们如何通过编程帮助蜘蛛确定父页面和子页面?
当然,第一个答案将是使用URL的目录结构。例如www.stackoverflow.com/questions/spiders,spiders是questions的子级,questions是基本站点的子级,依此类推。但是现在层次结构通常是平坦的,ID被引用在URL中。
到目前为止,我有两个答案,希望得到一些反馈。
1: 出现次数。
在所有页面中出现最多的链接将被称为导航链接。这似乎是最有前途的设计,但我可以看到会出现一些问题,比如动态链接等,但它们似乎微不足道。
2: 深度。
例如,我需要点击多少次才能到达某个页面。这似乎是可行的,但如果一些信息在主页上被广告宣传,实际上在底层,那么它将被确定为顶级页面或节点。
所以,有没有人对如何让蜘蛛判断链接层次结构有什么想法或建设性的批评?
(如果有人真的很好奇,蜘蛛的后端部分很可能是Ruby on Rails)
基本上,我正在尝试了解蜘蛛如何工作,从我所发现的来看,我没有找到任何一个管理层次结构的蜘蛛。他们只列出内容或链接,但没有排序。
我的问题是:我们查看一个站点,并可以轻松地确定哪些链接是导航、与内容相关或外部网站。我们如何自动化这个过程?我们如何通过编程帮助蜘蛛确定父页面和子页面?
当然,第一个答案将是使用URL的目录结构。例如www.stackoverflow.com/questions/spiders,spiders是questions的子级,questions是基本站点的子级,依此类推。但是现在层次结构通常是平坦的,ID被引用在URL中。
到目前为止,我有两个答案,希望得到一些反馈。
1: 出现次数。
在所有页面中出现最多的链接将被称为导航链接。这似乎是最有前途的设计,但我可以看到会出现一些问题,比如动态链接等,但它们似乎微不足道。
2: 深度。
例如,我需要点击多少次才能到达某个页面。这似乎是可行的,但如果一些信息在主页上被广告宣传,实际上在底层,那么它将被确定为顶级页面或节点。
所以,有没有人对如何让蜘蛛判断链接层次结构有什么想法或建设性的批评?
(如果有人真的很好奇,蜘蛛的后端部分很可能是Ruby on Rails)