Очистите HTML в Python

Я агрегировал содержание из нескольких внешних источников и нахожу, что часть его содержит ошибки в его HTML/DOM. Хорошим примером был бы HTML, пропускающий закрывающие тэги или уродливые атрибуты тега. Существует ли способ очистить ошибки в Python исходно или каких-либо сторонних модулях, которые я мог установить?

15
задан Joel 19 June 2010 в 00:44
поделиться

2 ответа

Я бы предложил Beautifulsoup . У него есть замечательный синтаксический анализатор, который может довольно изящно обрабатывать уродливые теги. После того, как вы прочитали все дерево, вы можете просто вывести результат.

from bs4 import BeautifulSoup
tree = BeautifulSoup(bad_html)
good_html = tree.prettify()

Я использовал это много раз, и он творит чудеса. Если вы просто извлекаете данные из bad-html, BeautifulSoup действительно хорош, когда дело доходит до извлечения данных.

17
ответ дан 1 December 2019 в 02:09
поделиться

Существуют привязки Python для HTML Tidy Library Project , но автоматическая очистка поврежденного HTML - это крепкий орешек. Это не так уж отличается от попытки автоматически исправить исходный код - здесь слишком много возможностей. Вам все равно нужно будет просмотреть результат и почти наверняка внести дополнительные исправления вручную.

3
ответ дан 1 December 2019 в 02:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: