1

我想解析提要

feed = feedparser.parse(url)
e = feed.entries[0]
summary=e['summary']

现在,当我使用 BeautifulSoap 解析摘要时。

self.summary = BeautifulSoup(summary.encode('utf-8')) #summary

我有错误。

异常类型:UnicodeEncodeError 异常值:'ascii' 编解码器无法在位置 755 对字符 u'\xa3' 进行编码:序数不在范围内(128)

问题出在字符£4,000上。我试过:

summary.encode('utf-8','ignore'), summary.encode('ascii','ignore')

我花了很多时间来解决这个问题,但仍然无法解决。所以我在这里问这个问题。

如果您让我知道支持最多字符数的编码或跳过该字符的任何方法,那将非常有帮助。

4

1 回答 1

1

我尝试将带有 utf8 磅符号的 html 文件加载到字符串“文件”中

这给出了与您看到的相同的错误

soup2=BeautifulSoup(file.encode('utf8'))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 17: ordinal not in range(128)

然而,这似乎工作得很好

soup2=BeautifulSoup(file.decode('utf-8'))
soup2.find('p')
<p>£
</p>

我猜“编码”和“解码”的概念与您所期望的相反。希望这可以帮助。

于 2013-06-03T12:03:11.337 回答