2024-09-29 22:40:29 发布
网友
我在用BeautifulSoup刮一个瑞典网页。在网页上,我要提取的信息如下所示:
"Öhman Företagsobligationsfond"
当我从Python脚本打印信息时,它如下所示:
我是Python新手,我已经搜索过答案,并尝试在代码的开头使用# -- coding: utf-8 --,但它不起作用。在
# -- coding: utf-8 --
我在考虑从瑞典搬来解决这个问题。在
使用# coding: utf-8 时,只指定源代码文档的编码。您正在解析的页面可能声明了错误的编码(或者根本没有),因此BeautifulSoup失败了。在构建soup时尝试指定编码。下面是一个小例子:
# coding: utf-8
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')
结果是:
在Beautiful Soup 4中,参数是from_encoding,而在版本3中,参数是fromEncoding。在
from_encoding
fromEncoding
使用
# coding: utf-8
时,只指定源代码文档的编码。您正在解析的页面可能声明了错误的编码(或者根本没有),因此BeautifulSoup失败了。在构建soup时尝试指定编码。下面是一个小例子:结果是:
^{pr2}$在Beautiful Soup 4中,参数是
from_encoding
,而在版本3中,参数是fromEncoding
。在相关问题 更多 >
编程相关推荐