Как извлечь значимый текст из HTML
-
09-10-2019 - |
Вопрос
Я хотел бы разбирать HTML-страницу и извлечь содержащий текст из него. Кто-нибудь знает несколько хороших алгоритмов для этого?
Я разрабатываю свои заявки на рельсы, но я думаю, что Ruby немного медленно в этом, поэтому я думаю, что существует ли какая-то хорошая библиотека в C для этого, это будет уместно.
Спасибо!!
PD: пожалуйста, не рекомендую ничего с Java
Обновление: я нашел это Ссылка текста
К сожалению, в Python
Решение
Использовать Нокогири, который быстро и написан в C, для Ruby.
(Использование Regexp для разбора рекурсивных выражений, таких как HTML Очень сложно и ошибка И я бы не пошел по этому пути. Я только упоминаю об этом в ответ, так как этот вопрос, кажется, обременяет снова и снова.)
С реальным анализатором, например, например, Nokogiri упомянутым выше, вы также получаете дополнительную выгоду, что структура и логика HTML-документа сохраняются, а иногда вам действительно нужны эти подсказки.
Другие советы
Решения, интегрирующие с Ruby
- использовать Нокогири в виде Рекомендуется помиримым Кларком Кант
- Использовать Hpricot.
Внешние растворы
- Если ваш HTML будет хорошо сформирован, вы можете использовать Expat XML Parser. для этого.
- Для чего-то более целена для HTML-только W3C фактически выпустил код для Либуя, который содержит Простой HTML Parser. (документация).
Рысь умеет это сделать. Это открытый источник, если вы хотите взглянуть на него.
Вы должны распределить все сконструировать угла из текста, а затем свернуть белые пробелы. Теоретически <
и >
не должен быть там в других случаях. Страницы содержат <
и >
Везде вместо них.
Расширяющие пробелы: конвертируйте всю вкладку, новую строку и т. Д. в пробелы, затем заменить каждую последовательность пространств в одно пространство.
Обновление: и вы должны начать после поиска <body>
ярлык.