无法使用 BeautifulSoup 找到 'div' 的内容

Can't find the contents of a 'div' using BeautifulSoup

我正在尝试从 MLB 网站上抓取一些有关 MLB 球员的信息。 但是,使用urllib2和BeautifulSoup,我找不到'div'下的内容。但是我可以清楚地看到Chrome.

上的内容

例如,转到页面 (http://mlb.mlb.com/team/player.jsp?player_id=150378)。右上角的状态信息显示'Released'。但是我无法使用 BS4 找到这个 string/content。

这是我的代码:

base_url = 'http://mlb.mlb.com/team/player.jsp?player_id=150378'
request = urllib2.Request(base_url)
response = urllib2.urlopen(request)
soup = BeautifulSoup(response)
player_status = soup.findAll('div',id='player_status')
print player_status

我期待它有一个像 'Status: Released' 这样的字符串, 但结果只显示

[<div id="player_status"></div>]

我以前从未遇到过这个问题。有人可以帮我弄这个吗? 谢谢!!

页面上的播放器信息来自对 JSON API 的附加 XHR 请求的响应。您可以模拟它,例如,使用 requests:

>>> import requests
>>> 
>>> url = "http://mlb.mlb.com/lookup/json/named.player_info.bam?sport_code=%27mlb%27&player_id=150378"
>>> 
>>> response = requests.get(url)
>>> data = response.json()
>>> data['player_info']['queryResults']['row']['status']
Released