我正在尝试抓取玩家的所有统计信息。
我希望这些数字出来
Stats
2019 SEASON / CAREER
PPG
16.6 / 9.7
ASST
2.0 / .7
REB
6.5 / 5.9
FG%
61.5 / 59.9
FT%
64.3 / 47.7
3P%
17.6 / 66.7
import requests
from bs4 import BeautifulSoup
url = "https://www.msn.com/en-us/sports/nba/montrezl-harrell/player/sp-id-30301000000698651"
result = requests.get(url).text
soup = BeautifulSoup(result, 'html.parser')
content = soup.find('div', {"class": "statsitem"})
print(content)
答案 0 :(得分:1)
我认为它是动态加载的。看一下在“开发工具”网络标签中是否有xhr可以检索数据,并且可以模仿。否则,要获得显示的布局,可以使用selenium自动化浏览器,该浏览器将允许动态内容加载,然后将page_source转储到bs中
import requests
from bs4 import BeautifulSoup as bs
from selenium import webdriver
d = webdriver.Chrome(r'C:\Users\User\Documents\chromedriver.exe')
d.get('https://www.msn.com/en-us/sports/nba/montrezl-harrell/player/sp-id-30301000000698651')
soup = bs(d.page_source, 'lxml')
title = soup.select_one('.playerstats h3')
print(title.text)
for item in soup.select('.statsitem'):
print(item.select_one('.abbr').text, '\n', item.select_one('.statsvalue').text)
d.quit()
答案 1 :(得分:-1)
我不确定您是否熟悉硒,python是否支持selenim。您可以导航到任何URL并从dom中获取所需的数据。
您将获得youtube上的数字教程,由于您的要求太过直接了,您可以立即使用硒实现这一目标。