scraping - UnicodeEncodeError con BeautifulSoup 3.1.0.1 y Python 2.5.2
scraping python 3 (1)
Aquí hay otra idea. Su terminal no es capaz de mostrar una cadena Unicode de Python. El intérprete intenta convertirlo primero a ASCII. Debe codificarlo explícitamente antes de imprimir. No sé la semántica exacta de soup.findAll()
. Pero es probable que sea algo así como:
for t in soup.findAll("table"):
print t.encode(''latin1'')
Si t
realmente es una cadena. Tal vez sea solo otro objeto a partir del cual debe construir los datos que desea mostrar.
Con BeautifulSoup 3.1.0.1 y Python 2.5.2, y tratando de analizar una página web en francés. Sin embargo, tan pronto como llamo a findAll, obtengo el siguiente error:
UnicodeEncodeError: el códec ''ascii'' no puede codificar el carácter u ''/ xe9'' en la posición 1146: el ordinal no está dentro del rango (128)
A continuación se muestra el código que estoy ejecutando actualmente:
import urllib2
from BeautifulSoup import BeautifulSoup
page = urllib2.urlopen("http://fr.encarta.msn.com/encyclopedia_761561798/Paris.html")
soup = BeautifulSoup(page, fromEncoding="latin1")
r = soup.findAll("table")
print r
¿Alguien tiene una idea de por qué?
¡Gracias!
ACTUALIZACIÓN : como se solicita, a continuación se muestra la Traza completa
Traceback (most recent call last):
File "[...]/test.py", line 6, in <module>
print r
UnicodeEncodeError: ''ascii'' codec can''t encode characters in position 1146-1147: ordinal not in range(128)