Я пытаюсь извлечь текст с HTML-страницы с помощью Nokogiri. Я использую селекторы CSS для извлечения текста.
Я знаю, что метод text
используется для извлечения текста внутри определенного тега, но он дает только текст, который является непосредственным дочерним элементом тега.
Как получить весь текст в теге, включая текст, который может находиться внутри любых тегов, вложенных в указанный тег?
<td>
<div>
some text
</div>
<div>
more text
</div>
</td>
Как мне получить весь текст в тегах <td>
внутри <td>
, поскольку text
ничего не вернет, и заранее неизвестно, сколько тегов будет внутри {{X3} }.
2 ответа
Похоже, вы можете просто вызвать метод #text
целевого элемента, и он будет включать все дочерние текстовые узлы:
doc = Nokogiri::HTML(your_html_snippet)
str = doc.css('td').text
str # => "\n\nsome text\n\n\nmore text\n\n"
Ты можешь использовать
str = doc.css('td').content
Это даст вам весь текст на всех уровнях вложенности
Похожие вопросы
Новые вопросы
ruby
Ruby - это многоплатформенный динамический объектно-ориентированный интерпретируемый язык с открытым исходным кодом. Тег [ruby] предназначен для вопросов, связанных с языком Ruby, включая его синтаксис и его библиотеки. Вопросы Ruby on Rails должны быть помечены [ruby-on-rails].