为什么我收到UnicodeEncode错误?

时间:2018-01-22 18:28:57

标签: python-3.x beautifulsoup python-requests

我正在尝试制作一个小的解析脚本并测试水域。 我不知道为什么会收到此错误

我的代码是

from bs4 import BeautifulSoup as bs
import requests
r = requests.get('http://www.marca.com/en/football/real-madrid.html?intcmp=MENUPROD&s_kw=english-real-madrid')

data = r.text.encode() 

soup = bs(data,'html.parser')

print (soup.prettify())

和错误

print (soup.prettify())
UnicodeEncodeError: 'ascii' codec can't encode characters in position 2153-2154: ordinal not in range(128)

但是如果我在我的打印行中使用 .encode(),它可以正常工作。 我只想100%确定我对此很准确。有0次解析HTML / XML的经验

1 个答案:

答案 0 :(得分:1)

解决方案就是这个

from bs4 import BeautifulSoup as bs
import requests

req = requests.get('http://www.marca.com/en/football/real-madrid.html?intcmp=MENUPROD&s_kw=english-real-madrid')
data = req.text

soup = bs(data,'html.parser')

print (soup.prettify('latin-1'))

this question

的帮助下