Обработка HTML-кода

Я хочу обработать некоторый HTML-код и удалить теги, как в примере:

«‹p›‹b›Это‹/b› — очень интересный абзац. ‹/p›» приводит к «Это очень интересный абзац».

Я использую Python как технологию; Знаете ли вы какую-либо структуру, которую я могу использовать для удаления тегов HTML?

Спасибо!


person Laurențiu Dascălu    schedule 22.10.2010    source источник


Ответы (4)


Этот вопрос может вам помочь: Удалить HTML из строк в Python

Независимо от того, какое решение вы выберете, я бы рекомендовал избегать регулярных выражений. Они могут быть медленными при обработке больших строк, они могут не работать из-за недопустимого HTML, а удаление HTML с помощью регулярных выражений не всегда безопасно или надежно.

person Colin O'Dell    schedule 22.10.2010
comment
Дело не только в том, что синтаксический анализ HTML с помощью регулярных выражений сложен, медленен или нецелесообразен. Проблема в том, что синтаксический анализ HTML с помощью регулярных выражений буквально невозможен. - person Antal Spector-Zabusky; 22.10.2010
comment
@Antal - Хороший вопрос :) Я изменил синтаксический анализ на зачистку в своем вопросе, чтобы сделать его точным. - person Colin O'Dell; 22.10.2010

BeautifulSoup

person kevingessner    schedule 22.10.2010

В зависимости от ваших потребностей вы можете просто использовать регулярное выражение /<(.|\n)*?>/ и заменить все совпадения пустыми строками. Это отлично работает для ручных случаев, но если вы создаете это как функцию приложения, вам понадобится более надежный и безопасный вариант.

person Daniel Mendel    schedule 22.10.2010

вы можете использовать lxml.

person ghostdog74    schedule 22.10.2010