网站层次结构

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

1

是的,我对人工智能不太熟悉。公司内部的应用程序旨在确定网站中的层次结构。不幸的是,这对于寻找应用程序的人来说非常主观。最终的选择是基于通过哪个页面跳转到另一个页面来确定层次结构。我认为这很公平。其他人则持不同意见。在这种情况下,构建专注爬虫显然行不通。他们希望有一个一刀切的爬虫。 - overtone
只是觉得值得一提,即使是谷歌在这方面也会遇到问题。而他们专门从事这个领域。 网站层次结构可以从格式良好的URL或面包屑中提取出来。 但是,即使对于这一点,网络爬虫也更喜欢使用http://schema.org/。 他们甚至不尝试猜测网站上的层次结构是什么。 - Grzegorz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接