Ошибка кодека 'ASCII' в BeautifulSoup - PullRequest
2 голосов
/ 16 ноября 2010

Я использую Beautifulsoup для очистки данных со страницы HTML. До вчерашнего дня все было хорошо. Но теперь я получаю ошибку:

'ascii' codec can't encode character u'\xa9' in position 86700: ordinal not in range(128)

Я использую код:

import urllib2
from BeautifulSoup import BeautifulSoup

page = urllib2.urlopen(url).read()
soup = BeautifulSoup(page)

Это дает мне ошибку.

Ответы [ 2 ]

2 голосов
/ 16 ноября 2010

Дикая догадка:

Попробуйте указать кодировку страницы?

soup = BeautifulSoup(page, fromEncoding=<encoding of the page>)

Это также может быть проблемой при установке Python.Если вы печатаете символы не ASCII без BeautifulSoup, вы сталкиваетесь с той же проблемой?Если да, то вам нужно установить кодировку:

import sys
sys.setdefaultencoding("utf-8") # or whatever you want the default encoding to be.
0 голосов
/ 16 ноября 2010

Дикий удар в темноте: вы читаете страницу, которая явно не объявляет кодировку и все же не является 7-битной ASCII?

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