爬取欧洲杯射手榜球员排名以及各项数据(爭奪中超八連冠?恆大仍有戲)

爬取欧洲杯射手榜球员排名以及各项数据(爭奪中超八連冠?恆大仍有戲)

facai369 2024-10-14 球员动态 5 次浏览 0个评论
  1 #网易足球欧洲杯数据分析,爬取网页内容
  2 #获取信息
  3 import requests
  4 from bs4 import BeautifulSoup
  5 import json
  6 import pandas as pd
  7 #搜寻网页
  8 r=requests.get('http://api.sports.163.com/base/cs/union/player?cid=45&type=1')
  9 r.encoding="utf-8"
 10 data=json.loads(r.text)
 11 a=data['data']
 12 #遍历网页中的数据
 13 for i in a:
 14     print(i)
 15 #输出数据
 16 #创建一个序列空列表
 17 b=[]
 18 for i in range(1,51):
 19     b.append(i)
 20 print(b)
 21 #创建各个数据的空表
 22 a=data['data']
 23 attPenGoal=[]#点球
 24 goals=[]#进球
 25 names=[]#名字
 26 team=[]#球队
 27 ontargetScoringAtt=[]#射正
 28 minsPlayed=[]#出场时间
 29 games=[]#次数
 30 totalScoringAtt=[]#射门
 31 playerId=[]#队员编号
 32 teamId=[]#球队编号
 33 #每个数据都遍历循环
 34 for i in a:
 35     attPenGoal.append(i['attPenGoal'])
 36     goals.append(i['goals'])
 37     names.append(i['player'])
 38     games.append(i['games'])
 39     totalScoringAtt.append(i['totalScoringAtt'])
 40     team.append(i['team'])
 41     ontargetScoringAtt.append(i['ontargetScoringAtt'])
 42     minsPlayed.append(i['minsPlayed'])
 43     playerId.append(i['playerId'])
 44     teamId.append(i['teamId'])
 45 #导出各项数据
 46 df=pd.DataFrame({
 47                  '排名':b,
 48                  '名字':names, 
 49                  '球队':team,
 50                  '次数':games,
 51                  '点球':goals,
 52                  '射门':totalScoringAtt,
 53                  '射正':ontargetScoringAtt,
 54                  '出场时间':minsPlayed,
 55                  '队员编号':playerId,
 56                  '球队编号':teamId

爬取欧洲杯射手榜球员排名以及各项数据(爭奪中超八連冠?恆大仍有戲)

57 }) 58 #存入足球数据的txt文本中 59 df.to_csv('E:爬虫足球数据.txt',index=False) 60 #插入下列数据 61 df['射正']=ontargetScoringAtt 62 df['出场时间']=minsPlayed 63 df['队员编号']=playerId 64 df['球队编号']=teamId 65 #将文本数据变为csv表格数据 66 df.to_csv('E:爬虫足球数据.csv',index=False) 67 68 #插入排名数据 69 df['排名']=b 70 df.to_csv('E:爬虫足球数据.csv',index=True) 71 #检查并显示重复值 72 print(df.duplicated()) 73 #检查是否有空值 74 print(df['点球'].isnull().value_counts()) 75 #绘制柱状图 76 import pandas as pd 77 import numpy as np 78 import matplotlib.pyplot as plt 79 plt.rcParams['font.sans-serif']=['SimHei'] 80 #用来正常显示中文标签 81 a = df.排名 82 b = df.点球 83 plt.bar(a,b, color='red') 84 plt.xlabel("排名") 85 #横坐标为排名 86 plt.ylabel("点球") 87 #纵坐标为点球 88 plt.title('欧洲射手榜') 89 plt.show() 90 #绘制散点图 91 import matplotlib.pyplot as plt 92 plt.rcParams['font.sans-serif']=['SimHei'] #用于正常显示中文标签 93 size=50 94 #调整大小 95 plt.xlabel("排名") 96 plt.ylabel("点球") 97 #横坐标为排名,纵坐标为点球 98 plt.title('欧洲射手榜') 99 #表头是“欧洲射手榜” 100 a = df.排名 101 b = df.点球 102 plt.scatter(a,b,size, color="g", marker='.') 103 plt.show 104 #绘制射正与排名堆叠图 105 import pandas as pd 106 import numpy as np 107 import matplotlib.pyplot as plt 108 plt.rcParams['font.sans-serif']=['SimHei'] 109 plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号 110 plt.stackplot(df.射正, df.排名, color=['b',]) 111 plt.xlabel("射正") 112 plt.ylabel("排名") 113 plt.title('射正与排名堆叠图') 114 plt.show() 115 #绘制折线图 116 plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 117 a = df.排名 118 b = df.射正 119 plt.plot(a,b, color='r') 120 plt.xlabel("排名") 121 plt.ylabel("射正") 122 plt.title('排名与射正数据折线图') 123 plt.show() 124 #绘制回归图 125 import seaborn as sns 126 plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 127 a = df.排名 128 b = df.射正 129 sns.regplot(a,b,color='g') 130 plt.xlabel("排名") 131 plt.ylabel("射正") 132 plt.title('排名与射正数据回归图') 133 plt.show() 134 #绘画扇形饼状图 135 from collections import Counter 136 import matplotlib.pyplot as plt 137 import matplotlib as mpt 138 mpt.rcParams['font.family']='fangsong' 139 oses = { 140 '意大利':22.37, 141 '丹麦': 20.31, 142 '英格兰': 16.28, 143 '比利时': 10.73, 144 '西班牙': 12.25, 145 '其他':18.06 146 147 } 148 names = oses.keys() 149 percents = oses.values() 150 patches,texts,autotexts = plt.pie(percents,labels=names,autopct="%.2f%%",explode=(0,0.05,0,0,0,0)) 151 for text in texts+autotexts: 152 plt.setp(text,fontproperties=font) 153 text.set_fontsize(10) 154 for text in autotexts: 155 text.set_color("white") 156 #绘制线性回归、拟合曲线 157 import matplotlib.pyplot as plt 158 159 import matplotlib 160 161 import numpy as np 162 163 import scipy.optimize as opt 164 165 import csv 166 167 x0=df['排名'] 168 y0=df['射正'] 169 def func(x,c): 170 171 k,a=c 172 173 return k*x+a 174 175 def errfc(c,x,y): 176 177 return y-func(x,c) 178 179 c0=(100,20) 180 181 #调用拟合曲线 182 183 print(opt.leastsq(errfc,c0,args=(x0,y0))) 184 185 #s设置画布 186 187 chinese=matplotlib.font_manager.FontProperties(fname='C:WindowsFontssimsun.ttc') 188 189 plt.plot(x0,y0,"o",label=u"射正") 190 191 plt.plot(x0,func(x0,opt.leastsq(errfc,c0,args=(x0,y0))[0]),label=u"拟合直线") 192 193 plt.legend(loc=3,prop=chinese) 194 195 plt.show() 196 197 198 199 import matplotlib.pyplot as plt 200 201 import matplotlib 202 203 import numpy as np 204 205 import scipy.optimize as opt 206 207 import csv 208 209 x0=df['点球'] 210 y0=df['射门'] 211 def func(x,c): 212 213 k,a=c 214 215 return k*x+a 216 217 def errfc(c,x,y): 218 219 return y-func(x,c) 220 221 c0=(100,20) 222 223 #调用拟合曲线 224 225 print(opt.leastsq(errfc,c0,args=(x0,y0))) 226 227 #s设置画布 228 229 chinese=matplotlib.font_manager.FontProperties(fname='C:WindowsFontssimsun.ttc') 230 231 plt.plot(x0,y0,"o",label=u"射门") 232 233 plt.plot(x0,func(x0,opt.leastsq(errfc,c0,args=(x0,y0))[0]),label=u"拟合直线") 234 235 plt.legend(loc=3,prop=chinese) 236 237 plt.show() 238 #数据持久化 239 import xlwt 240 #设置数据的编码格式 241 book = xlwt.Workbook(encoding='utf-8',style_compression=0) 242 #建立一张sheet表 243 sheet = book.add_sheet('单价',cell_overwrite_ok=True) 244 #列名 245 col = ['排名','名字','球队','次数','点球','时间','射门','射正'] 246 for i in range(0,8): 247 sheet.write(0,i,col[i]) 248 #排名 249 m1=0 250 for i in a: 251 m1+=1 252 sheet.write(m1,0,a1[i])

爬取欧洲杯射手榜球员排名以及各项数据(爭奪中超八連冠?恆大仍有戲)

253 #名字 254 m2=0 255 for i in c2.index: 256 m2+=1 257 sheet.write(m2,1,a2[i]) 258 #球队 259 m3=0 260 for i in c3.index: 261 m3+=1 262 sheet.write(m3,2,a3[i]) 263 #次数 264 m4=0 265 for i in c4.index: 266 m4+=1 267 sheet.write(m4,3,a4[i]) 268 #点球 269 m5=0 270 for i in c5.index: 271 m5+=1 272 sheet.write(m5,4,a5[i]) 273 #时间 274 m6=0 275 for i in c6.index: 276 m6+=1 277 sheet.write(m6,5,a6[i]) 278 #射门 279 m7=0 280 for i in c7.index: 281 m7+=1 282 sheet.write(m7,6,a7[i]) 283 #射正 284 k=0 285 for i in c.index: 286 k+=1 287 sheet.write(k,7,a[i]) 288 #保存exls文件 289 savepath = 'E:爬虫足球数据.csv' 290 book.save(savepath)

爬取欧洲杯射手榜球员排名以及各项数据(爭奪中超八連冠?恆大仍有戲)

高拉特與鄭智的發揮在很大程度上決定了恆大本賽季的走勢。

本周五,傳統的元宵佳節,2018賽季中超聯賽,將以一場重量級的廣州德比拉開戰幕。發出爭奪聯賽8連冠號令的廣州恆大,將以什麼樣的面貌來應對這個賽季,恐怕是所有關心恆大的球迷心中共同的問號。保利尼奧離去的影響,至今難以消化﹔而再過半年,隊長鄭智也將年滿38歲了。受到限外令的影響,恆大今年無法得到心儀的外援前鋒和后腰,這兩個位置也是最讓人擔心的陣容薄弱環節。無論如何,陣容老化、榮譽飢餓感的減少、中場控制力的下降、對手實力的水漲船高,都讓恆大面臨著一個組建以來最為艱難的賽季。

【牌面】

群雄並起恆大已無優勢

足壇大鱷王健林突然宣布重返中國足球頂級聯賽,這也意味著,今年中超冠軍獎杯,又多了一個有力爭奪者。德國《轉會市場》有一項直觀的數據,廣州恆大的評估身價,已經滑落到了中超第五位。雖然評估價不等於戰斗力,但是紙面實力上,恆大越來越不佔優勢,應該是個客觀的事實,甚至在部分環節方面,恆大還有著明顯的劣勢。

目前中超球隊球員評估總身價排名前列的球隊分別是:大連一方、上海上港、北京國安、天津權健、廣州恆大、江蘇蘇寧、河北華夏幸福、山東魯能與上海申花等等,可以說,這9支球隊都可以視為聯賽冠軍的有力爭奪者,其中最大的熱門依然是上港、國安、恆大、權健等隊。

應該看到,目前恆大陣中外援都並非足壇頂尖選手,隨著多年中超的征戰,他們積累了自信與經驗的同時,對手也在不斷研究限制他們的辦法,單純以個人能力而言,恆大外援組合的實力已經很難擠進中超前三甚至前五了。不過好在,恆大有一批相當優秀的國內球員,能夠將球隊整體實力發揮到極致,也反過來促進外援打出最高水平。以去年為例,上海上港一度接近奪冠,但最終仍然挑戰恆大失敗,最大的原因是在主教練的水平方面。既無法提升國內球員的戰力,也無法將胡爾克、奧斯卡等人的威力發揮到極致。但是今年換帥之后,兩場亞冠賽事展現出上港整體發揮更為出色了,他們依然是恆大最難對付的勁敵。

除了外援實力難以排上號之外,恆大今年更多地將面臨國內球員發揮有可能下滑的危機。U23新政的影響究竟有多大,現在依然不好說,但規則是對所有球隊都公平的,因此這方面困難也許不大。而在其他六七個位置上,所有球員都又老了一歲,絕對優勢已不明顯。像是鄭智、郜林這樣的老臣,即將邁入效力恆大的第9個年頭,此前也都連續拿了8個聯賽冠軍(含中甲),而隊內的大富翁也比比皆是,哪怕是廖力生這樣的“小將”,恐怕都早已家財萬貫、獎杯滿屋。這種背景之下,卡納瓦羅屢次三番強調精神力量,也就不難理解了。

【主帥】

卡納瓦羅“危”中有“機”

開季的前兩場亞冠比賽之后,不少人開始在想念鄭智與埃爾克森,這裡面雖有玩笑的成分,但對球隊攻擊線和中場組織的不滿也是顯而易見的。在U23新政的影響下,卡納瓦羅極力追求有“中國版莫德裡奇”之稱的張修維,這筆交易一旦完成,卡納瓦羅是很有可能為中國足壇制造出下一個鄭智的。

足協的U23新政其實是一把雙刃劍,它確實會給主教練的排兵布陣帶來非常多的麻煩與困擾,但是反過來,它也適合那些排兵布陣喜歡不拘一格,具備一定冒險精神的主教練。同時在一定程度上,也能夠緩解主教練的部分壓力,畢竟遭遇了這種“非人力所能抵抗的因素”,成績有起伏也是正常的。

如果能在眾多困難之下,帶領恆大衛冕中超,這對於卡納瓦羅個人來說,無疑將會是巨大的成功。眾所周知,N連冠中,越到后面的冠軍越難拿,何況是今年在大家都降低了對恆大期望值的情況下,卡納瓦羅還真有可能書寫出一段傳奇。如果能為恆大引進並培養出幾名“接班人”的話,卡納瓦羅的功績就更大了。巨大的榮譽面前,還處於教練生涯初始階段的卡納瓦羅不可能看不到其中蘊含的巨大機會。

從目前來看,卡納瓦羅的戰術打法有一定新意,對於球員的精神感召和動員也有效果,他對於年輕球員的培養和使用已經在天津權健得到了証明,單單就目前的情況來看,確保中軸線的健康與活力,才是他最大的挑戰。手握國內最好的門將、中后衛與后腰,最有中超經驗的外援攻擊線,在陣容齊整的前提下,恆大仍然是冠軍有力爭奪者。

確保老將的健康、重新激發老將的“青春”、靈活使用U23球員,是卡納瓦羅的三大任務。

觀察

沉住氣,我們仍是最好的

相比於以往,廣州恆大俱樂部今年最大的變化,是沉穩了許多,俱樂部的風格慢慢轉變為內緊外鬆。沒有公開宣布球隊的賽季目標,但隊內人人都知道,中超和亞冠兩個最重要的冠軍是要全力爭取的。而相比之下,中超8連冠甚至可能要比亞冠第三冠更重要。

外援引進不理想,球隊沒有舉辦公開的儀式宣布賽季目標和獎金方案,一度令外界謠言四起。不過通過超級杯上1000萬元的奪冠獎金可以看得出來,恆大仍然對於冠軍有著無限的渴求。不過,在眾多困難面前,一定程度上收縮戰線有所取舍,恐怕也是迫不得已但卻最為明智的選擇。

誠然,相比於大連一方、北京國安和上海上港今年的“高調”,廣州恆大今年確實低調得令人有些不太適應了。不過這種低調也並非全是壞事,至少球隊不再是眾矢之的,不再是全中超都瞄准的目標。但是在球隊的內部管理方面,恆大一點都沒有放鬆,甚至要實行更為嚴格的管理制度。

而在球員精氣神方面,卡納瓦羅也抓得很緊,恆大在超級杯的表現說明,卡納瓦羅的調整是有效的。那場比賽恆大球員打出久違的精神氣,這不失為一個積極的信號,告訴球迷昔日那個精神煥發的恆大又回來了。

實際上如果單看國內賽場,各支爭冠球隊都有特別長的長板與特別短的短板,聯賽30輪競爭,實際上比拼的正是誰的短板比較長而已。廣州恆大的中超7連冠征程中,無非就是將短板補長的工作做得特別好。雖說恆大目前在中超已無壓倒性的絕對優勢,但反過來,也沒有其他球隊具備這種優勢,如果甩掉7連冠的包袱,重新以挑戰者的心態再上路,8連冠,也並非遙不可及的夢想。

转载请注明来自艾欧小麦体育,本文标题:《爬取欧洲杯射手榜球员排名以及各项数据(爭奪中超八連冠?恆大仍有戲)》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!
Top