【发布时间】:2014-09-15 15:07:13
【问题描述】:
我只是在学习如何使用 nokogiri gem 在 ruby 中编程。
doc.xpath("//*[@class='someclass']//@href")
将返回 HTML 中某处“someclass”类下的所有 href 值。
doc.xpath("//*[@class='someclass']").xpath("//@href")
将返回整个 HTML 中的所有 href。
有人可以向我解释一下,例如,在解析的数据中,有人将如何在 xpath 中使用 //@ 等效项,例如:
doc.xpath("//*[@class='someclass']").xpath(grab all the href within previously parsed)
有可能吗?
使用 *, @ 似乎非常强大,但我似乎无法缩小范围,除了搜索整个 HTML,无论我在哪里使用它..
作为初学者,我只是认为它会......直观?能够使用“从任何地方抓取”类型的语法,仅限于以前解析过的内容来缩小我的目标,所以我可以做类似的事情
xpath(whatever).css(whatever).xpath(whatever)
也许这不是一个好习惯?也许对解析概念有了更多的了解,我永远不必这样做?有时我发现同时使用 xpath 和 CSS 更容易..
希望有人能启发我..
【问题讨论】:
标签: css ruby xpath html-parsing nokogiri