NBA数据爬虫+比分预测

1、NBA数据爬虫

爬取的数据主要有,主队名称、客队名称、比赛日期、两队各节的分数。
数据主要从http://www.stat-nba.com获取。

def get_url_content(url):
    #获取比赛时间
    res = requests.get(url)
    res.encoding = 'utf-8'
    soup = BeautifulSoup(res.content, 'html.parser')
    div_time = soup.find_all('div', attrs={"style":"float: left;margin-top: 25px;margin-left: 10px;font-size: 16px;font-weight: bold;color: #009CFF"})
    date = re.findall(r"(\d{4}-\d{1,2}-\d{1,2})", str(div_time[0]))
    
    #获取主队客队
    div_title = soup.find_all('div', attrs={"class":"title"})
    season = div_title[0].string
    home_team, visit_team = div_title[1].find('a').string, div_title[2].find('a').string
    
    #获取每节比分
    div_table = soup.find_all('div', attrs={"class":"table"})
    home_score = div_table[0].find_all('td', class_='number')
    visit_score = div_table[1].find_all('td', class_='number')
    home_everystage_score = [home_score[i].string for i in range(0,4)]
    visit_everystage_score = [visit_score[i].string for i in range(0,4)]
    return season, date, home_team, visit_team, home_everystage_score, visit_everystage_score

遍历2019~2020赛季的每一场比赛,获取相应数据存入数据框中:

def run():
    basketball_frame = []
    for i, j in enumerate(range(43977,45362)):
        try:
            url = 'http://www.stat-nba.com/game/' + str(j) + '.html'
            print(url)
            basketball_frame.append(get_url_content(url))
        except:
            pass
    bf = pd.DataFrame(basketball_frame)
    return bf
    
bf = run()
bf.to_csv(r'存储路径')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

'Humz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值