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

问题描述 投票:1回答:1

我试图从下面的代码中检索日期和时间信息(目标代码)。我可以提取课程名称,但不能提及日期和时间。

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

我得到了班级名称,但是日期和时间都是零

目标代码

<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>
ruby nokogiri
1个回答
1
投票

Node#content方法:

https://www.rubydoc.info/github/sparklemotion/nokogiri/Nokogiri/XML/Node#content-instance_method

的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
© www.soinside.com 2019 - 2024. All rights reserved.