HTMLページを読み込んでテキストを出力しようとしていますが、Webページを正しく取得しているにもかかわらず、BeautifulSoupが何らかの形でエンコーディングを破壊しています。
ソース:
# -*- coding: utf-8 -*-
import requests
from BeautifulSoup import BeautifulSoup
url = "http://www.columbia.edu/~fdc/utf8/"
r = requests.get(url)
encodedText = r.text.encode("utf-8")
soup = BeautifulSoup(encodedText)
text = str(soup.findAll(text=True))
print text.decode("utf-8")
抜粋出力:
...Odenw\xc3\xa4lderisch...
これはOdenwälderischであるべきです