Найти - Пользователи
Полная версия: Кодировка в BeautifulSoup
Начало » Python для новичков » Кодировка в BeautifulSoup
1
Budulianin
Всем привет. установил BeautifulSoup решил попробовать, но возникли проблемы с кодировкой

вот код

import urllib2
from BeautifulSoup import BeautifulSoup

f = urllib2.urlopen('http://www.yandex.ru/')


soup = BeautifulSoup(f, fromEncoding="utf-8")

print soup.find('title')

print soup.originalEncoding
Написал в IDLE title вывел кракозяброй. Что не так?

Python 2.7
Budulianin
Дело в выводе самого IDLE

Тк в файл записывает нормально.

А как можно поменять кодировку в IDLE чтобы правильно выводило русский?
Budulianin
А если писать soup.find('title').string тогда нормально русский выводит. Кто что скажет?
sp3
import urllib2
from BeautifulSoup import BeautifulSoup

f = urllib2.urlopen('http://www.yandex.ru/')


soup = BeautifulSoup(f, fromEncoding="utf-8")
s = str(soup.find('title'))
print s
print s.decode('utf8')
print soup.originalEncoding

#<title>Яндекс</title>
#<title>Яндекс</title>
utf-8
Budulianin
sp3
import urllib2
from BeautifulSoup import BeautifulSoup

f = urllib2.urlopen('http://www.yandex.ru/')


soup = BeautifulSoup(f, fromEncoding="utf-8")
s = str(soup.find('title'))
print s
print s.decode('utf8')
print soup.originalEncoding

#<title>Яндекс</title>
#<title>Яндекс</title>
utf-8
Если оригинальная кодировка utf-8 то зачем ещё s.decode('utf8') ?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB