十分钟,Python 带你看遍世界足球俱乐部沉浮

2023-11-01 08:30

本文主要是介绍十分钟,Python 带你看遍世界足球俱乐部沉浮,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作为一名足球迷,在年终盘点中,怎么能少了足球呢。如果你是关注欧洲足球的球迷(没办法,人家欧洲是足球的世界的中心),那么你一定知道,2019年是属于利物浦的一年,不多说,红军的首个英超冠军已经遥遥在望了,fighting!

数据获取

我们还是先来看看如何拿到我们需要的数据呢,我们这里选择的是一个国外的统计网站,可以查看历年的足球俱乐部得分和排名

https://footballdatabase.com/ranking/world/1

获取俱乐部信息

首先我们需要拿到俱乐部相关的信息,这里选取前200名俱乐部,使用 BeautifulSoup 解析网页即可

    for name in name_list:rank_list = []try:rank_point = name.find_all('td', attrs={'class': 'rank'})rank = rank_point[0].textpoint = rank_point[1].textclub_info = name.find('td', attrs={'class': 'club text-left'}).find_all('a')club_url = club_info[0]['href']club_name = club_info[0].find('div', attrs={'class': 'limittext'}).textclub_country_url = club_info[1]['href']club_country_name = club_info[1].textrank_list.append([rank, club_name, club_country_name, club_url, club_country_url, point])list_rank.append(rank_list)save_club_name(rank_list)except:pass

拿到各个俱乐部的信息后,就可以遍历该列表,获取俱乐部历年的得分和排名数据

获取俱乐部历史数据

俱乐部的历史数据也是保存在网页的 Javascript 变量中的,对于如何获取这种数据,我们在前面的文章中也都有介绍,这里就不过多赘述了

his_rank_list = []for data in data_list:print(data)url = data[0][3]his_res = requests.get(base_url + url)his_content = BeautifulSoup(his_res.text, "html.parser")js = his_content.find_all('script')[1].stringsrc_text = js2xml.parse(js)src_tree = js2xml.pretty_print(src_text)data_tree = BeautifulSoup(src_tree, 'html.parser')array_list = data_tree.find_all('array')club_name = data[0][1]for array in array_list[2:-2]:his_rank_list = []array_date = array.find('string').textdate = array_datetry:month = month_map[array_date.split(' ')[0]]year = array_date.split(' ')[1]date = str(year) + '-' + str(month)except:passarray_data = array.find_all('number')try:point = array_data[0]['value']rank = array_data[1]['value']his_rank_list.append([rank, point, date])save_his_data(club_name, his_rank_list)except:raise

这样我们就可以得到两个文件,分别是 club_data.csv 和 rank_his_data.csv

俱乐部排行

我们这里整理的当前世界俱乐部前20的排名,可以看到利物浦以2120分高居榜首,曼城则紧随其后,看来世界第一联赛还是很给力的!

接下来就是西超的巴塞和德甲霸主拜仁,在意甲实现了八连冠的老夫人以及无敌于法甲的大巴黎。

欧洲五大联赛,名不虚传

怎么样,快来看看有没有你熟悉的队徽上榜呢!

国家分布

下面我们再来看看哪些国家的俱乐部最多呢,首先是前20名的国家分布

可以看到,英格兰和西班牙的俱乐部最多,都有4家上榜,而次之的是意大利以及德国,都是3家,这四个国家就占去了大半。而唯一一家非欧洲的俱乐部则位于巴西,足球王国也是要面子的哇!

我们再把榜单扩大到所有的抓取数据,即前200名的俱乐部数据

西班牙的俱乐部最多,达到了20家,其次是英格兰也有17家之多。这些年西甲英超的球队垄断欧冠冠军,还是有其深厚的足球底蕴作为依托的!

而欧洲传统足球强国西班牙、英格兰、德国、法国以及意大利再加上南美双珠阿根廷和巴西,这七大豪强的俱乐部基本占据了榜单的半壁江山,足球的格局,从来如此!

当然中超也有两家上榜俱乐部,分别是133名的上海上港和166名的广州恒大,任重而道远呐!

top7 排名走势

这七家俱乐部既有欧陆的传统豪门,也有金元新秀,都是当今俱乐部中的顶级强队。

我们可以看出,对于“皇萨仁”来说,它们的成绩都是极其稳定的,常年处于极高的竞技水平上。而当红的利物浦则在本世纪初的前十年遭遇到了低谷,一路前行,着实不易。

再有就是金元足球的代表大巴黎和蓝月亮,其中大巴黎尤为明显,从2011年开始,得益于卡塔尔财团的进入,其排名开始急速攀升,在世界范围内的影响力也大幅提高,战绩更是不断突破,常年垄断法甲冠军,不过对于欧冠赛场,巴黎还有很长的路要走。

而对于老牌劲旅尤文图斯,相信大家都会想起著名的“电话门”事件,此事件之后,不仅尤文图斯跌落低谷,就连意大利足球,曾经的亚平宁联赛的风采,都一去不复返了。不过从2011年开始,尤文走在了复兴的路上,也扛起了意大利足球的大旗!

各大洲排名

我们从上面的排名不难看出,所谓的世界排名,其实大多是欧洲俱乐部,那么其他大洲的俱乐部呢,我们一起来看下。

亚洲

非洲

南美洲

最后还是来看看近十年世界足球俱乐部排行的变化情况

这篇关于十分钟,Python 带你看遍世界足球俱乐部沉浮的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/321754

相关文章

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Python pandas库自学超详细教程

《Pythonpandas库自学超详细教程》文章介绍了Pandas库的基本功能、安装方法及核心操作,涵盖数据导入(CSV/Excel等)、数据结构(Series、DataFrame)、数据清洗、转换... 目录一、什么是Pandas库(1)、Pandas 应用(2)、Pandas 功能(3)、数据结构二、安

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

Python实现网格交易策略的过程

《Python实现网格交易策略的过程》本文讲解Python网格交易策略,利用ccxt获取加密货币数据及backtrader回测,通过设定网格节点,低买高卖获利,适合震荡行情,下面跟我一起看看我们的第一... 网格交易是一种经典的量化交易策略,其核心思想是在价格上下预设多个“网格”,当价格触发特定网格时执行买

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON: