Я пытаюсь извлечь текст с HTML-страницы с помощью Nokogiri. Я использую селекторы CSS для извлечения текста.

Я знаю, что метод text используется для извлечения текста внутри определенного тега, но он дает только текст, который является непосредственным дочерним элементом тега.

Как получить весь текст в теге, включая текст, который может находиться внутри любых тегов, вложенных в указанный тег?

<td>
<div>
some text
</div>
<div>
more text
</div>
</td>

Как мне получить весь текст в тегах <td> внутри <td>, поскольку text ничего не вернет, и заранее неизвестно, сколько тегов будет внутри {{X3} }.

0
Brogrammer 19 Фев 2015 в 00:21

2 ответа

Лучший ответ

Похоже, вы можете просто вызвать метод #text целевого элемента, и он будет включать все дочерние текстовые узлы:

doc = Nokogiri::HTML(your_html_snippet)
str = doc.css('td').text
str # => "\n\nsome text\n\n\nmore text\n\n"
4
maerics 18 Фев 2015 в 22:09

Ты можешь использовать

str = doc.css('td').content

Это даст вам весь текст на всех уровнях вложенности

0
ashishmohite 23 Окт 2015 в 12:05