преобразование html в текст только с использованием стандартной библиотеки Python - PullRequest
1 голос
/ 19 марта 2012

Я ищу лучший способ конвертировать HTML в текст, используя только модули из стандартной библиотеки Python 2.7.x. (Т.е. нет BeautifulSoup и т. Д.)

Под преобразованием HTML в текст я подразумеваю моральный эквивалент lynx -dump. На самом деле, достаточно просто разумно избавиться от тегов HTML и преобразовать все объекты HTML в ASCII (или в кодировку UTF8) в кодировке UTF8.

Нет ответов на основе регулярных выражений, пожалуйста. (Регулярные выражения не соответствуют задаче.)

Спасибо!

Ответы [ 2 ]

5 голосов
/ 19 марта 2012

Python с версии 2.2 имеет модуль HTMLParser . Это не самое эффективное и не простое использование, но оно есть ...

И если вы имеете дело с правильным XHTML (или можете передать его через Tidy), вы можете использовать намного лучше ElementTree

from xml.etree.ElementTree import ElementTree
tree = ElementTree()
tree.parse("your_document.xhtml")
your_string = tree.tostring(method="text", encoding="utf-8")
0 голосов
/ 20 марта 2012

Я бы также посоветовал вам взглянуть на html2text .
Также взгляните на другую тему

...