我正试图从美国职业棒球大联盟球员网站(https://www.mlb.com/player/charlie-morton-450203?stats=gamelogs-r-pitching-mlb&year=2019)的“游戏统计信息”表中抓取/读取。我似乎无法找到/捕获类名。当我在chrome中“检查HTML”时,我可以看到类名,但是似乎找不到漂亮的汤。
是否有一些变通方法/技巧来正确地将其插入?
from bs4 import BeautifulSoup
import requests
page = requests.get('https://www.mlb.com/player/charlie-morton-450203?stats=gamelogs-r-pitching-mlb&year=2019')
soup = BeautifulSoup(page.text, "html.parser")
body = soup.find('body')
table = body.findAll('div', {'class':'gamelogs-table'})
print(table)
答案 0 :(得分:2)
数据通过AJAX加载。为了获得正确的数据源,您需要通过以下方式找到网址: Firefox中的开发者控制台。该脚本打印播放器450203
的JSON数据:
import requests
import json
url = 'https://statsapi.mlb.com/api/v1/people/450203/stats?stats=gameLog'
data = requests.get(url).json()
print(json.dumps(data, indent=4))
答案 1 :(得分:0)