Creo que estas dandole demasiadas vueltas. Mi recomendacion es que trabajes siempre con unicode.
Por lo que explicas quieres algo asi: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Python import urllib from bs4 import BeautifulSoup url = 'https://www.yandex.ru/' req = urllib.request.Request(url, data=None, headers={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'}) html = urllib.request.urlopen(req).read() soup = BeautifulSoup(html) title_text = soup.find('title').text # el titulo ya es un unicode, o 'str' en python3x print("Type of title: ".format(type(title_text))) print(f"Title of the page: {title_text}") # si quieres convertilo a cp1251, pero yo trabajaria siempre con unicode title_encoded_cp1251 = title_text.encode('cp1251') ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ echale un ojo a esta presentacion que te aclarara muchas cosas: http://farmdev.com/talks/unicode/ Un saludo El jue., 1 nov. 2018 a las 12:35, Ander Garmendia (<kelertx...@gmail.com>) escribió: > Hola, > > tiene pinta de que al scrapear la página no estás ulizando el codec > adecuado (creo que pusiste cp1251) y por lo tanto el programa no es capaz > de interpretar el texto. > > Primero, cerciorarte del encoding que están ulizando esas páginas web y > utiliza ese encoding en BeautifulSoup para obtener el contenido ( no > conozco la librería, por lo que no te puedo decir mas, pero seguro que hay > alguna manera de definir el encoding). > > Una vez que tienes el contenido bien descodificado, puedes trabajar con el > tranquilamente, ya que Python3 trabaja con bytes. > > Para terminar si quieres guardar el contenido tendrás que volver a > codificarlo, preferiblemente en UTF8, y como te han comentado en los > ejemplos que te han enviado anteriormente. > > Un saludo. > > > > El jue., 1 nov. 2018 11:59, Pixu Kideak <pixukid...@gmail.com> escribió: > >> Hola, >> >> En la prueba que estoy realizando, utilizo BeautifulSoup [ >> https://www.crummy.com/software/BeautifulSoup/bs4/doc/] con Python 3.7. >> >> Mi objetivo es mediante BeautifulSoup tener todo el código de la página y >> por ejemplo almacenar el título de ésta en un fichero CSV. (En realidad se >> tratan de más datos de la web que lo realiza mediante un búcle recorriendo >> las distintas webs existentes; pero creo que es suficiente si consigo >> almacenar el título de la web que tiene letras del alfabeto cirílico en el >> fichero CSV). >> >> Primeramente quiero verlo todo en consola, así soy capaz de obtener el >> título de la web y pintarlo en la consola; pero a la hora de mostrarlo, no >> me muestra los caracteres cirílicos sino "????" es por eso que enfocaba el >> problema cómo si se tratara de un problema de encoding. >> >> Un saludo, >> >> On Thu, 1 Nov 2018 at 08:11, Angel Lis <anlis...@gmail.com> wrote: >> >>> Hola, >>> en Python3 todo texto es unicode por defecto y el encoding del source es >>> siempre unicode. >>> En este pagina te lo explica: >>> >>> https://docs.python.org/3.0/whatsnew/3.0.html#text-vs-data-instead-of-unicode-vs-8-bit >>> >>> Un saludo. >>> >>> El mié., 31 oct. 2018 a las 14:24, Sergio Fernández (<ser...@wikier.org>) >>> escribió: >>> >>>> Primero, definiendo en la cabecera de tus ficheros >>>> https://docs.python.org/2.3/whatsnew/section-encodings.html >>>> >>>> #!/usr/bin/env python >>>> # -*- coding: UTF-8 -*- >>>> >>>> Segundo, defiendo explicitamente el encoding cuando abres ficheros para >>>> lectura/escritura: >>>> >>>> open('some.csv', encoding='utf-8') >>>> >>>> >>>> >>>> >>>> >>>> On Wed, Oct 31, 2018 at 6:16 AM Pixu Kideak <pixukid...@gmail.com> >>>> wrote: >>>> >>>>> Gracias por el consejo Sergio. >>>>> >>>>> ¿Cómo podría forzar a que el script / app fuera obligado a utilizar >>>>> Unicode? >>>>> >>>>> Saludos ;-) >>>>> >>>>> On Wed, 31 Oct 2018 at 13:44, Sergio Fernández <ser...@wikier.org> >>>>> wrote: >>>>> >>>>>> Utiliza siempre un encoding independiente de la plataforma que >>>>>> soporte el juego de caracteres que necesitas. Unicode es tu amigo ;-) >>>>>> >>>>>> On Wed, Oct 31, 2018 at 5:36 AM Pixu Kideak <pixukid...@gmail.com> >>>>>> wrote: >>>>>> >>>>>>> Hola, >>>>>>> >>>>>>> Estoy trabajando en un entorno Windows con Python 3.7 y según veo en >>>>>>> el encoding utilizo cp1252 - windows -1252 Western Europe. >>>>>>> >>>>>>> Quiero obtener información de una web con caracteres rusos y guardar >>>>>>> la información en un fichero CSV. >>>>>>> >>>>>>> Según he visto el encoding necesario es cp1251 - windows - 1251 - >>>>>>> Bulgarian, Byelorussian, Macedonian, Russian, Serbian. >>>>>>> >>>>>>> Pero no sé cómo puedo usarlo desde Python o qué debo hacer para >>>>>>> poder grabar la información correctamente en el fichero CSV. >>>>>>> >>>>>>> ¿Alguien me podría mostrar algo de luz? >>>>>>> >>>>>>> Un saludo ;-) >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Python-es mailing list >>>>>>> Python-es@python.org >>>>>>> https://mail.python.org/mailman/listinfo/python-es >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Sergio Fernández >>>>>> http://www.wikier.org >>>>>> _______________________________________________ >>>>>> Python-es mailing list >>>>>> Python-es@python.org >>>>>> https://mail.python.org/mailman/listinfo/python-es >>>>>> >>>>> _______________________________________________ >>>>> Python-es mailing list >>>>> Python-es@python.org >>>>> https://mail.python.org/mailman/listinfo/python-es >>>>> >>>> >>>> >>>> -- >>>> Sergio Fernández >>>> http://www.wikier.org >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es@python.org >>>> https://mail.python.org/mailman/listinfo/python-es >>>> >>> >>> >>> -- >>> -- >>> Àngel Lis. >>> _______________________________________________ >>> Python-es mailing list >>> Python-es@python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> >> _______________________________________________ >> Python-es mailing list >> Python-es@python.org >> https://mail.python.org/mailman/listinfo/python-es >> > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > -- -- Àngel Lis.
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es