Python - Problema utf-8 Python

 
Vista:

Problema utf-8 Python

Publicado por German (3 intervenciones) el 08/10/2018 04:25:39
Hola,

Me pasa lago muy extraño con mi código cuando utilizo la librería BeautifulSoup para scrapear datos, mi código es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import requests
import sys
from bs4 import BeautifulSoup
 
def main():
 
  payload = {'q': 'probar'}
  response = requests.get("https://es.stackoverflow.com/search?", params=payload)
  return response
 
if __name__ == "__main__":
  response = main()
  print response.status_code
  print response.headers["content-type"]
  print response.request.headers
 
  print response.url
 
if response.status_code == 200:
  contenido = response.content
  soup = BeautifulSoup(contenido,"lxml")
 
 
 
datos = soup.find("h1", {"class": "grid--cell fl1 fs-headline1 mb0"})
 
print soup.title.string
 
print (datos.text)
print ("\n")
 
for sub_heading in soup.find_all('div', {"class": "summary"}):
    titulos = sub_heading.h3.a.text
    print(titulos.strip())
    print("\n")


En el print del "for" final, si lo dejo así como está me muestra lo que quiero pero al final me tira este error:

Resultados de Búsqueda


P: ¿Cómo envio String xml por SoapUi, probar Webservice?


P: Problema para probar plugin facebook4


P: Problema al probar un servicio web SOAP


P: Probar funciones que cree en Haskell


P: Error al probar la aplicacion ionic en el celular


P: No puedo probar la aplicacion en Android Studio


P: probar libreria de redes neuronales


P: ¿Cómo puedo probar un servicio en SoapUI que reciba como parámetro un archivo (MultipartFile)?


P: ¿Cómo puedo probar una función disparadora en Google Apps Script


P: Probar con usuarios de prueba la app de mercadopago con woocommerce


Traceback (most recent call last):
File "requ.py", line 34, in <module>
print(titulos.strip())
File "C:\Python27\lib\encodings\cp850.py", line 12, in encode
return codecs.charmap_encode(input,errors,encoding_map)
UnicodeEncodeError: 'charmap' codec can't encode character u'\u2026' in position 95: character maps to <undefined>


Y si le agrego el .encode("utf-8")

1
2
3
4
for sub_heading in soup.find_all('div', {"class": "summary"}):
    titulos = sub_heading.h3.a.text
    print(titulos.strip()).encode('utf-8')
    print("\n")

No me muestra mas el error pero la informacion no puede ver los tildes ni signos:

P: ┬┐C├│mo envio String xml por SoapUi, probar Webservice?


P: Problema para probar plugin facebook4


P: Problema al probar un servicio web SOAP


P: Probar funciones que cree en Haskell


P: Error al probar la aplicacion ionic en el celular


P: No puedo probar la aplicacion en Android Studio


P: probar libreria de redes neuronales


P: ¿Cómo puedo probar un servicio en SoapUI que reciba como parámetro un archivo (MultipartFile)?


P: ┬┐C├│mo puedo probar una funci├│n disparadora en Google Apps Script


P: Probar con usuarios de prueba la app de mercadopago con woocommerce


P: Como probar la l├│gica de un controller en su IActionResult Create con una prueba unitaria coÔǪ


P: ┬┐C├│mo puedo probar el comportamiento de un Hilo en JUnit? [cerrada]


P: ┬┐Como puedo probar una tarea programada usando huey?


P: C├│mo puedo probar con Mocha y Chai una ruta de express


P: ┬┐C├│mo puedo probar si un valor booleano es falso en Perl?


Ya no se que hacer para que me los muestre bien y sin que me dé el error final, me podrían ayudar?

Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Problema utf-8 Python

Publicado por tincopasan (1082 intervenciones) el 08/10/2018 06:46:32
¿y por qué no poner al inicio del script?
1
#-*- coding: utf-8 -*-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar