Как открыть HTML-страницу с кодировкой windows-1252 в beautifulsoup - PullRequest
4 голосов
/ 11 мая 2011

Я пытаюсь проанализировать HTML-документ с Beautifulsoup, но у меня возникают проблемы. Как лучше всего открыть HTML-документ в кодировке windows-1252?

Я пытался с помощью iconv конвертировать в utf-8, но это также не работает.

doc = open("e.html").read()

soup = BeautifulSoup(doc)

soup.findAll('p')

UnicodeEncodeError: кодек 'ascii' не может кодировать символ u '\ xfc' в позиции 103: порядковый номер не в диапазоне (128)

Когда я открываю его без иконки, я получаю ту же ошибку.

полный возврат:

>>> soup.findAll('p')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in position 103: ordinal not in range(128)

Ответы [ 2 ]

1 голос
/ 05 марта 2017

Я получил похожую ошибку:

UnicodeDecodeError: кодек «utf-8» не может декодировать байт 0xe9 в позиции 723617: недопустимый байт продолжения

Чтоу меня получилось было указать входную кодировку так:

page = open("page.html", encoding="windows-1252")

soup = BeautifulSoup(page.read(), "html.parser")
0 голосов
/ 11 мая 2011

Попробуйте что-то вроде этого:

doc = open("e.html").read()

doc = doc.decode('cp1252')

soup = BeautifulSoup(doc)

soup.findAll('p')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...