网页数据抓取:从基础到实战
在网页数据抓取的过程中,我们常常会面临多种选择。如果有一种方法比另一种更简便,或者能完成另一种方法无法完成的任务,那么就应该选择它。不过,了解多种元素选择方式也是很有价值的。
元素操作
当我们使用 XPath 或 CSS 选择器选定了适合当前任务的元素后,工作可能才完成了一半。通常,我们还需要对匹配到的元素进行实际操作,主要有以下两类任务:
- 信息提取 :提取元素的文本内容或属性值。信息的存储位置取决于所处理的元素和具体需求。例如,匹配到图片时,可能关注其 src 属性;匹配到段落时,则可能关注元素内的文本。
- 文档导航 :由于文档具有树状结构,我们可以从当前位置向上、向下或横向导航。这在处理特定元素的子元素或返回父元素继续操作时非常有用。
接下来,我们将介绍 Nodes 和 NodeSets 上的各种方法,以及如何使用它们完成这些任务。
从元素中提取信息
一般来说,从元素中可以提取三种信息:元素自身的文本内容、属性值和元素名称。Nokogiri 节点提供了三种有用的方法来提取这些信息。
- 读取元素的文本 :可以使用
text方法提取元素的文本。以下是一个提取文档中所有二级标题文本的示例:
require "nokogiri"
doc = Nokogiri::HTML(<<-DOC)
<
超级会员免费看
订阅专栏 解锁全文
1011

被折叠的 条评论
为什么被折叠?



