用Python解码HTML实体

用Python解码HTML实体,python,unicode,encoding,utf-8,beautifulsoup,Python,Unicode,Encoding,Utf 8,Beautifulsoup,下面的Python代码使用BeautifulStoneSoup为托尔金的《胡林之子》获取LibraryThing API信息 不幸的是,它没有打印“Húrin”,而是打印“HÃrin”。这显然是一个编码问题,但我无法确定需要做什么才能获得预期的输出。非常感谢您的帮助。该网页可能在编码方面撒谎。输出看起来像UTF-8。如果最后有一个str,那么需要将其解码为UTF-8。如果您使用的是unicode,那么首先需要将其编码为拉丁语-1。网页可能在编码方面撒谎。输出看起来像UTF-8。如果最后有一个st

下面的Python代码使用BeautifulStoneSoup为托尔金的《胡林之子》获取LibraryThing API信息


不幸的是,它没有打印“Húrin”,而是打印“HÃrin”。这显然是一个编码问题,但我无法确定需要做什么才能获得预期的输出。非常感谢您的帮助。

该网页可能在编码方面撒谎。输出看起来像UTF-8。如果最后有一个str,那么需要将其解码为UTF-8。如果您使用的是unicode,那么首先需要将其编码为拉丁语-1。

网页可能在编码方面撒谎。输出看起来像UTF-8。如果最后有一个str,那么需要将其解码为UTF-8。如果您使用的是unicode,那么首先需要将其编码为拉丁语-1。

在网页的源代码中,它看起来是这样的:
HÃ的孩子º;rin
。因此,在编码转换为XML之前,它已经在他们这方面的某个地方被破坏了

如果这是所有书籍的一个普遍问题,你需要解决它,这似乎是可行的:

unicode(title_field.find('fact').string).encode("latin1").decode("utf-8")

在网页的源代码中是这样的:
HÃ的孩子º;rin
。因此,在编码转换为XML之前,它已经在他们这方面的某个地方被破坏了

如果这是所有书籍的一个普遍问题,你需要解决它,这似乎是可行的:

unicode(title_field.find('fact').string).encode("latin1").decode("utf-8")

是的,我想就是这样。我已经联系了LibraryThing,想把它整理一下。谢谢。:)是的,我想就是这样。我已经联系了LibraryThing,想把它整理一下。谢谢。:)