【问题标题】:What is the syntax for Nokogiri's #css and #xpath functions?Nokogiri 的#css 和#xpath 函数的语法是什么?
【发布时间】:2018-06-16 22:42:50
【问题描述】:

我是网页抓取和解析的新手,我一直在尝试使用 Ruby 和 Nokogiri 来解析网页。我想确定网页上 HTML 表格中特定字段的值。 HTML 看起来像

<table class="mainTable">
  <tr>The data I care about.</tr>
  <tr>...</tr>
  ...
</table>

我查看了其他人在类似情况下解析 HTML 的示例,他们使用 Nokogiri::HTML::DocumentFragment#css#xpath 方法。我可以模拟他们的结果,但不明白这两个函数的语法应该是什么,我需要知道这些才能创建自己的程序。

我正在阅读http://nokogiri.orghttp://www.rubydoc.info/github/sparklemotion/nokogiri/index 的文档,但似乎都没有这样一个基本问题的答案。

我一定遗漏了一些明显的东西!

【问题讨论】:

  • “我一定遗漏了一些明显的东西!” – 是:css 方法的语法是 CSS,xpath 方法的语法是 XPath。
  • "但似乎都没有这样一个基本问题的答案" 也许它是如此基本以至于 Nokogiri 只是假设用户(例如你)已经知道他们是什么并且不需要解释如何使用它们,因为今天几乎不可能有人以任何身份使用 HTML 至少还不知道 CSS 是什么。这适用于许多网络抓取库。

标签: ruby xpath web-scraping css-selectors nokogiri


【解决方案1】:

#css 采用 CSS 选择器作为输入,#xpath 采用 xpath 表达式,创建教程可分别在 herehere 找到。

两种输入类型的文档和规范:

https://www.w3.org/TR/css3-selectors/

https://www.w3.org/TR/1999/REC-xpath-19991116/

【讨论】:

    猜你喜欢
    • 2014-12-22
    • 2011-07-16
    • 2012-03-04
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 1970-01-01
    • 1970-01-01
    • 2011-06-11
    相关资源
    最近更新 更多