Ruby - 如何使用 Nokogiri 在 div 之后检索文本

Ruby - how to retrieve text after a div with Nokogiri

我正在尝试从下面的代码(目标代码)中检索日期和时间信息。我可以提取 class 名称但不能提取日期和时间。

class = events.at_css('div.classTitle b').text
date = events.at_css('.classTitle') ["eventTime"]
time = events.at_css('.classTime span')

p class
p date
p time

我得到 class 名称,但日期和时间为零

目标代码

<div class="classTitle"><b>Astronomy 101</b></div>

<div class="classTime">

Friday, May 3, 2019<span class="smalltype">&nbsp;at</span>&nbsp;7:00PM</div>

<br>

您需要 Node#content 方法:

这是index.html:

<div class="classTitle"><b>Astronomy 101</b></div>

<div class="classTime">

Friday, May 3, 2019<span class="smalltype">&nbsp;at</span>&nbsp;7:00PM
</div>

<br>

这是test.rb:

require 'nokogiri'

events = Nokogiri::HTML(open('index.html'))
date, time = events.at_css('div.classTime').content.strip.split('at')

puts date     #=> Friday, May 3, 2019
puts time     #=> 7:00PM