tutorial scraping examples code python encoding screen-scraping beautifulsoup

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)