Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.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
如何使用Nokogiri解析Ruby中的链接树?_Ruby_Nokogiri - Fatal编程技术网

如何使用Nokogiri解析Ruby中的链接树?

如何使用Nokogiri解析Ruby中的链接树?,ruby,nokogiri,Ruby,Nokogiri,我正在尝试搜索页面上的特定链接/文本并跟踪它,同时继续搜索其他链接 我有一个链接,像,我想搜索一个特定的公寓类型。考虑到有一个名为“住房”的类别包含许多不同的子类别,我想从主页开始,转到第一个住房类别,并在所有链接中搜索我要查找的文本 我正在使用Nokogiri,并将使用XPath解析所有链接,以找到我想要的特定文本 问题就在我眼前。从根URL开始,转到每个“分支”,然后,当我完成对该分支的解析后,返回到根并检查下一个链接 我尝试了许多使用循环的排列方式,但我总是陷入似乎不正确的嵌套循环中 我怎

我正在尝试搜索页面上的特定链接/文本并跟踪它,同时继续搜索其他链接

我有一个链接,像,我想搜索一个特定的公寓类型。考虑到有一个名为“住房”的类别包含许多不同的子类别,我想从主页开始,转到第一个住房类别,并在所有链接中搜索我要查找的文本

我正在使用Nokogiri,并将使用XPath解析所有链接,以找到我想要的特定文本

问题就在我眼前。从根URL开始,转到每个“分支”,然后,当我完成对该分支的解析后,返回到根并检查下一个链接

我尝试了许多使用循环的排列方式,但我总是陷入似乎不正确的嵌套循环中

我怎样才能从根开始,到每一个,再回到根,再到下一个?什么样的数据结构最好,我应该如何构造它

我将使用一个数组返回与我在每个子类别上搜索的字符串相匹配的所有链接,但是我如何从那里返回到根并继续这个过程

我没有使用Rails,只是一个赤裸裸的Ruby 1.9.2脚本


此解决方案需要能够向上或向下扩展到更多级别。如果我想让脚本检查纽约附近的其他城市,我不想每次都要输入一个新的城市。这就是解析树的一个例子(比当前根高一级)。如果我想深入到返回的每个链接并在该页面的文本中搜索,我希望脚本也能做到这一点。例如,在纽约的房源清单中搜索一套公寓而不是一栋房子后,脚本返回一些链接。然后,我希望脚本深入到这些公寓列表中的每一个,只找到那些是“两间卧室”。因此,这将是“向下”钻取更多级别的示例。

这读起来有点像“我有一个想法,请为我实现它”。如果你定义了一个特定的问题并展示了你迄今为止所做的尝试,你会得到更好的回答。最好是显示代码。好吧,很公平……我会再写一个问题。