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

时间:2012-02-23 19:11:21

标签: ruby nokogiri

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

我有http://newyork.craigslist.org/之类的链接,我想搜索特定的公寓类型。鉴于有一个名为“住房”的类别有许多不同的子类别,我想从主页面开始,转到第一个住房类别并搜索所有链接以查找我正在寻找的任何文本。

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

这个问题正在沿着树的方向发展。从根URL开始并转到每个“分支”然后,当我完成解析该分支时,返回根并检查下一个链接。

我尝试了许多使用循环的排列,但我仍然陷入了看似不正确的嵌套循环。

我如何接近从根,到每个,然后回到根和下一个?什么数据结构最好,我应该如何构建它?

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

我没有使用Rails,只是一个准系统Ruby 1.9.2脚本。

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

0 个答案:

没有答案