以下 Python 代码使用 BeautifulStoneSoup 获取托尔金的“胡林的孩子们”的 LibraryThing API 信息。
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”。这显然是一个编码问题,但我无法弄清楚我需要做什么才能获得预期的输出。帮助将不胜感激。