Веб-страница может лгать о ее кодировке. Выход выглядит как UTF-8. Если у вас есть str в конце, вам нужно будет декодировать его как UTF-8. Если вместо этого у вас есть Unicode, вам нужно сначала кодировать как Latin-1.
ющий код Python использует BeautifulStoneSoup для получения информации API LibraryThing для Толкина "Дети Хурина".
import urllib2
from BeautifulSoup import BeautifulStoneSoup
URL = ("http://www.librarything.com/services/rest/1.0/"
"?method=librarything.ck.getwork&id=1907912"
"&apikey=2a2e596b887f554db2bbbf3b07ff812a")
soup = BeautifulStoneSoup(urllib2.urlopen(URL),
convertEntities=BeautifulStoneSoup.ALL_ENTITIES)
title_field = soup.find('field', attrs={'name': 'canonicaltitle'})
print title_field.find('fact').string
К сожалению, вместо «Húrin» он печатает «Húrin». Это, очевидно, проблема кодирования, но я не могу понять, что мне нужно сделать, чтобы получить ожидаемый результат. Помощь будет принята с благодарностью.