Извлечение текста из дочерних элементов div с классом?

57
7

У меня есть небольшое приложение Sinatra:

app.rb:

get '/' do
# the first two lines are lifted directly from our previous script
url = "http://www.nba.com/"
data = Nokogiri::HTML(open(url))

# this line has only be adjusted slightly with the inclusion of an ampersand
# before concerts. This creates an instance variable that can be referenced
# in our display logic (view).
@headlines = data.css('#nbaAssistSkip')
@top_stories = data.css('#nbaAssistSkip')

# this tells sinatra to render the Embedded Ruby template /views/shows.erb
erb :shows
end

show.erb:

<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>Nokogiri App</title>
</head>
<body>
<div>
<h2><%= @headlines %></h2>
<p><%= @top_stories %></p>
</div>
</body>
</html>

Я новичок в Nokogiri, и мне было интересно, как я могу извлечь текст из ссылок внутри .nbaBreakingNews div (например, Live on NBA...):

enter image description here

И покажите их в моем шаблоне.

(Сейчас я знаю только, как извлекать текст из html-тегов с помощью классов и идентификаторов).

спросил(а) 2013-08-07T01:40:00+04:00 7 лет, 1 месяц назад
1
Решение
57

В a элементы в этих разделах будут:

data.css('.nbaBreakingNewscv a')

Это означает, что любой a элемент, который нисходит из элемента с классом nbaBreakingNewscv. Для того, чтобы показать текст этих a элементы, которые вы могли бы сделать:

data.css('.nbaBreakingNewscv a').each do |a|
puts a.text
end

ответил(а) 2013-08-07T04:11:00+04:00 7 лет, 1 месяц назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема