【发布时间】:2020-02-04 05:30:43
【问题描述】:
我正在编写一个使用 Nokogiri 和 CSS 选择器的 Ruby 脚本。我正在尝试从 HTML 中抓取一些如下所示的数据:
<h2>Title 1</h2>
(Part 1)
<h2>Title 2</h2>
(Part 2)
<h2>Title 3</h2>
(Part 3)
有没有办法仅通过指定代表起点和终点的 h2 元素的文本来从 Part 2 中进行选择?
Part 2 中感兴趣的数据是一个包含 tr 和 td 元素的表,这些元素没有任何 class 或 id 标识符。其他部分也有我不感兴趣的表格。像
page.css('table tr td')
在整个页面上,除了我想要的那个之外,我还会从所有其他表格中进行选择,如果可能的话,我想避免这种情况。
【问题讨论】:
-
欢迎来到 SO!请参阅“How to Ask”以及链接页面和“mcve”。如果同事把问题递给你,然后走开,你能理解并回答吗?如果没有,你想知道什么?这也是我们需要的那种信息,否则我们必须做出很多假设和猜测。你尝试了什么?为什么它不起作用?
-
CSS 选择器并不能真正胜任这项工作。相反,您最好使用 XPath,它具有更丰富的工具集来查看嵌入文本和同级。
标签: ruby css-selectors nokogiri