美丽的汤,Python和瑞典字符奥ÄÖ

2024-09-29 22:40:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我在用BeautifulSoup刮一个瑞典网页。在网页上,我要提取的信息如下所示:

"Öhman Företagsobligationsfond"

当我从Python脚本打印信息时,它如下所示:

^{pr2}$

我是Python新手,我已经搜索过答案,并尝试在代码的开头使用# -- coding: utf-8 --,但它不起作用。在

我在考虑从瑞典搬来解决这个问题。在


Tags: 答案代码脚本信息网页utfcoding新手
1条回答
网友
1楼 · 发布于 2024-09-29 22:40:29

使用# coding: utf-8 时,只指定源代码文档的编码。您正在解析的页面可能声明了错误的编码(或者根本没有),因此BeautifulSoup失败了。在构建soup时尝试指定编码。下面是一个小例子:

markup = '''
<html>
    <head>
        <title>Övriga fakta</title>
        <meta charset="latin-1" />
    </head>
    <body>
        <h1>Öhman Företagsobligationsfond</h1>
        <p>Detta är en svensk sida.</p>
    </body>
</html>
'''

soup = BeautifulSoup(markup)
print soup.find('h1')

try:
    # Version 4
    soup = BeautifulSoup(markup, from_encoding='utf-8')
except TypeError:
    # Version 3
    soup = BeautifulSoup(markup, fromEncoding='utf-8')

print soup.find('h1')

结果是:

^{pr2}$

在Beautiful Soup 4中,参数是from_encoding,而在版本3中,参数是fromEncoding。在

相关问题 更多 >

    热门问题