Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 站点中的层次结构_Ruby On Rails_Ruby_Theory_Hierarchy_Web Crawler - Fatal编程技术网

Ruby on rails 站点中的层次结构

Ruby on rails 站点中的层次结构,ruby-on-rails,ruby,theory,hierarchy,web-crawler,Ruby On Rails,Ruby,Theory,Hierarchy,Web Crawler,我不确定这个问题是否会有一个单一的答案,甚至是所有答案的简明答案,但我想我会问得更少。这个问题也不是特定于语言的,但可能有某种伪算法作为答案 基本上,我试图了解蜘蛛是如何工作的,从中我可以看出我没有发现任何蜘蛛。他们只是列出内容或链接,但没有排序 我的问题是:我们查看一个站点,可以很容易地从视觉上确定哪些链接是导航的、与内容相关的或是站点外部的。 我们如何实现自动化?我们如何在语法上帮助蜘蛛确定父页面和子页面 当然,第一个答案是使用URL的目录结构。 例如www.stackoverflow.co

我不确定这个问题是否会有一个单一的答案,甚至是所有答案的简明答案,但我想我会问得更少。这个问题也不是特定于语言的,但可能有某种伪算法作为答案

基本上,我试图了解蜘蛛是如何工作的,从中我可以看出我没有发现任何蜘蛛。他们只是列出内容或链接,但没有排序

我的问题是:我们查看一个站点,可以很容易地从视觉上确定哪些链接是导航的、与内容相关的或是站点外部的。 我们如何实现自动化?我们如何在语法上帮助蜘蛛确定父页面和子页面

当然,第一个答案是使用URL的目录结构。 例如www.stackoverflow.com/questions/spider 蜘蛛是问题之子,问题是基地之子等等。 但现在的层次结构通常是扁平的,在URL中引用ID

到目前为止,我对这个问题有两个答案,希望得到一些反馈

1:发生

所有页面中出现最多的链接称为导航链接。这似乎是最有希望的设计,但我可以看到动态链接和其他链接出现了问题,但它们似乎微不足道

2:深度

例如,我需要点击一个站点多少次才能到达某个页面。这似乎是可行的,但如果某些信息在主页上发布,而实际上是在底层,那么它将被确定为顶层页面或节点

那么,有没有人对如何在链接中建立蜘蛛判断层次结构有任何想法或建设性的批评



(如果有人真的很好奇,spider的后端部分很可能是RubyonRails)

你的目标是什么?如果你想抓取较少数量的网站,并为某种聚合器提取有用的数据,那么最好构建有针对性的抓取器(为每个网站编写抓取器)

如果你想抓取数以百万计的网页。。。当然,你一定非常熟悉人工智能的一些高级概念


你可以从这篇文章开始

是的,我不熟悉人工智能。一丝一毫。内部应用程序旨在确定网站的层次结构。不幸的是,对于寻找应用程序的人来说,这是非常主观的。最后,选项是根据您必须通过的页面来确定层次结构,以获得另一个页面。我认为这是公平的。其他人没有。在这种情况下,构建聚焦爬虫是不可能的。他们想要一个一刀切的爬虫。只是觉得值得一提。就连谷歌也有这样的问题。他们专门从事这方面的工作。可以从格式良好的URL或bredcrump中提取站点层次结构。但是,即使是对于爬虫来说。他们甚至不去猜测网站的层次结构是什么。