加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

火箭五年四遇勇士,终究还是败了

发布时间:2019-05-15 09:49:00 所属栏目:教程 来源:小F
导读:副标题#e# 看了火箭和勇士的G6大战,最终火箭3比4出局。 在火箭的近五年季后赛,一共有四次是和勇士交手,最终都以失败告终。 我平常是很少看NBA比赛的,所以看完之后便想写点东西。 怀念一下那些年我们一起关注过,当然也打过的篮球。 涉及的东西不多,主
副标题[/!--empirenews.page--]

看了火箭和勇士的G6大战,最终火箭3比4出局。

在火箭的近五年季后赛,一共有四次是和勇士交手,最终都以失败告终。

我平常是很少看NBA比赛的,所以看完之后便想写点东西。

怀念一下那些年我们一起关注过,当然也打过的篮球。

涉及的东西不多,主要是NBA球员历年薪资情况以及效力球队情况。

这里的球员都是NBA的篮球巨星。

至于超巨是哪几个,估摸着大家各自都有各自的想法啦。

我也不多说~

一、获取分析

数据从下面这个网站上获取,获取热门球员信息。

详情见下图。

火箭五年四遇勇士,终究还是败了

这里以詹姆斯为例,首先查看他的网址ID。

火箭五年四遇勇士,终究还是败了

接下来进入球员数据概况详情页。

查看他各赛季的薪资以及效力球队情况。

火箭五年四遇勇士,终究还是败了

获取赛季、球队以及薪金数据。

火箭五年四遇勇士,终究还是败了

二、数据获取

具体代码如下。

  1. import requests 
  2. from bs4 import BeautifulSoup 
  3.  
  4. headers = { 
  5.     'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36' 
  6.  
  7.  
  8. def get_player(player_id): 
  9.     url_2 = 'http://www.stat-nba.com' + player_id 
  10.     response_2 = requests.get(url=url_2, headers=headers) 
  11.     html_2 = response_2.text 
  12.     # 对请求结果进行编码解码处理,避免出现乱码 
  13.     html_2 = html_2.encode('ISO-8859-1') 
  14.     html_2 = html_2.decode('utf-8') 
  15.     # 提取信息 
  16.     soup_2 = BeautifulSoup(html_2, 'html.parser') 
  17.     name = soup_2.find(class_='name').get_text().split('/')[0] 
  18.     salarys = soup_2.find(id='player_salary') 
  19.     trs = salarys.find('tbody') 
  20.     # 获取信息 
  21.     for tr in trs.find_all('tr')[:-2]: 
  22.         # 年份 
  23.         season = tr.find(class_='current').get_text() 
  24.         if int(season[:1]) > 2: 
  25.             year = '19' + season.split('-')[0] 
  26.         else: 
  27.             year = '20' + season.split('-')[0] 
  28.         # 球队 
  29.         team = tr.find('a').get_text() 
  30.         # 薪水 
  31.         salary = tr.find_all(class_='normal')[1].get_text().replace('万美元', '') 
  32.         print(year, name, team, salary) 
  33.         with open('nba.csv', 'a+', encoding='utf-8-sig') as f: 
  34.             f.write(year + ',' + name + ',' + team + ',' + salary + 'n') 
  35.  
  36.  
  37. def get_index(): 
  38.     url_1 = 'http://www.stat-nba.com/playerList.php' 
  39.     response_1 = requests.get(url=url_1, headers=headers) 
  40.     html_1 = response_1.text 
  41.     # 对请求结果进行编码解码处理,避免出现乱码 
  42.     html_1 = html_1.encode('ISO-8859-1') 
  43.     html_1 = html_1.decode('utf-8') 
  44.     soup_1 = BeautifulSoup(html_1, 'html.parser') 
  45.     div = soup_1.find_all(class_='playerList')[1] 
  46.     for i in div.find_all(class_='name'): 
  47.         player_id = i.find('a')['href'][1:] 
  48.         try: 
  49.             get_player(player_id) 
  50.         except: 
  51.             pass 
  52.  
  53.  
  54. if __name__ == '__main__': 
  55.     get_index() 

最后成功获取数据。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读