次のPythonコードでは、BeautifulStoneSoupを使用して、Tolkienの "The Hulin of Children"のLibraryThing API情報を取得します。PythonでHTMLエンティティをデコードする
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'の代わりに 'Hrinin'が表示されます。これは明らかにエンコードの問題ですが、期待される出力を得るためには何が必要なのか分かりません。ヘルプは非常に高く評価されます。
うん、そうだね。私はそれを整理するためにLibraryThingに連絡しました。ありがとう。 :) –