【发布时间】:2020-05-20 06:19:01
【问题描述】:
我正在尝试将basketball-reference API 与requests 和bs4 库一起使用。
from requests import get
from bs4 import BeautifulSoup
这是我正在尝试做的一个最小示例:
# example request
r = get(f'https://widgets.sports-reference.com/wg.fcgi?css=1&site=bbr&url=%2Fteams%2FMIL%2F2015.html&div=div_roster')
soup = BeautifulSoup(dd.content, 'html.parser')
table = soup.find('table')
一切正常,然后我可以将这个table 和它的read_html 提供给pandas,然后将我需要的数据很好地打包到一个数据框中。
我遇到的问题是编码。
在这个特殊的请求中,我得到了两个带有奇怪字符的 NBA 球员姓名:Ersan İlyasova (Ersan İlyasova) 和 Jorge Gutiérrez (Jorge Gutiérrez)。在当前代码中,它们被解释为“Ersan İlyasova”和“Jorge Gutiérrez”,这显然不是我想要的。
所以问题是——我该如何解决它? This website 似乎暗示他们有 windows-1251 编码,但我不确定如何使用该信息(事实上我什至不确定这是否属实)。
我知道我在这里遗漏了一些基本的东西,因为我有点困惑这些编码是如何工作的,在什么时候它们被“解释”等等,所以如果你能帮我解决这个问题,我将不胜感激!
【问题讨论】:
标签: python encoding beautifulsoup utf-8 python-requests