Как заставить BeautifulSoup выводить HTML-сущности - PullRequest
1 голос
/ 07 марта 2012

BeautifulSoup может легко конвертировать html-сущности при синтаксическом анализе документа.

Однако есть ли способ отменить этот шаг при преобразовании его в строку, чтобы я мог снова получить анализируемый вывод?

Вот что я получу:

>>> import BeautifulSoup
>>> BeautifulSoup.BeautifulSoup("<p>a&lt;b</p>", convertEntities=BeautifulSoup.BeautifulSoup.ALL_ENTITIES)
<p>a<b</p>

Вот что я хотел бы получить: <p>a&lt;b</p>

1 Ответ

0 голосов
/ 07 марта 2012

Поскольку я не смог найти какое-либо API-решение, я использую этот обезьян-патч для достижения желаемого результата:

from BeautifulSoup import NavigableString
__nv_str__str__ = NavigableString.__str__
NavigableString.__str__ = lambda self, encoding=None: __nv_str__str__(self, encoding=encoding).replace("<", "&lt;").replace(">", "&gt;")
...