Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >十分钟,Python 带你看遍世界足球俱乐部沉浮

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

作者头像
周萝卜
发布于 2020-05-22 02:45:00
发布于 2020-05-22 02:45:00
43200
代码可运行
举报
文章被收录于专栏:萝卜大杂烩萝卜大杂烩
运行总次数:0
代码可运行

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

数据获取

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

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

获取俱乐部信息

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    for name in name_list:
        rank_list = []
        try:
            rank_point = name.find_all('td', attrs={'class': 'rank'})
            rank = rank_point[0].text
            point = rank_point[1].text
            club_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'}).text
            club_country_url = club_info[1]['href']
            club_country_name = club_info[1].text
            rank_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 变量中的,对于如何获取这种数据,我们在前面的文章中也都有介绍,这里就不过多赘述了

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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].string
        src_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').text
            date = array_date
            try:
                month = month_map[array_date.split(' ')[0]]
                year = array_date.split(' ')[1]
                date = str(year) + '-' + str(month)
            except:
                pass
            array_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年开始,尤文走在了复兴的路上,也扛起了意大利足球的大旗!

各大洲排名

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

亚洲

非洲

南美洲

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

后记

转眼间快到春节了,在这里预祝各位小伙伴儿们春节快乐!

这篇文章可能是春节前的最后一篇原创了,由于本人水平一般,能力有限,写原创真是不易,大家且看且珍惜吧。如果觉得还可以,就点点“在看”,以资鼓励,谢谢!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 萝卜大杂烩 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
十分钟,用 Python 带你看遍 GDP 变迁
偶然之间,发现了一个网站,title 是世界银行,很高级的样子,可以下载很多有趣的数据,这对于我们练手数据分析及可视化真的是太好的资源了,不多说,戳下面的链接可以火箭直达哦!
数据森麟
2019/11/29
7410
三分钟带你看遍世界大学排行
代码大学,一直都是神圣的学习知识的殿堂,各个世界级名校都不断地为社会输送着人才,今天我们就来盘一盘世界大学的排名情况。
周萝卜
2020/05/22
3360
Python 带你分析,英超是否已经大结局
随着本轮英超战罢,领头羊利物浦已经领先第二名曼城8分之多,新赛季的8连胜,不仅彰显着红军将士誓夺英超首冠的决心,也似乎在提醒着英超诸强,利物浦的复兴已然来临。
数据森麟
2019/10/09
5750
Python 带你分析,英超是否已经大结局
太酷了,用Python制作足球可视化图表!
最近不少小伙伴都会熬夜看欧洲杯。今年的欧洲杯相比起往年的欧洲杯来说,可谓是冷门频出,出乎意料。
小F
2021/07/23
6430
十分钟生成自己的疫情地图,小白都能立刻上手!
当下,新型冠状病毒感染的肺炎疫情无时无刻不牵动着人们的心。面对来势汹汹的疫情,除了奋战在前线的医护人员以及防疫建设工作者们,小媛们也想尽一份绵薄之力。
用户3946442
2022/04/11
9370
十分钟生成自己的疫情地图,小白都能立刻上手!
十分钟用 Python 绘制动态排行图 —— 以 A 股历年市值前十股票排行榜为例
相信大家都曾在 YouTube 和 B 站看到过类似的视频,这种图在国外叫做 Bar Chart Race,配上一段气势磅礴的 BGM,就会营造出一种「浮沉跌宕」的沉浸感,这类型的视频很多都获得了相当可观的播放量。
davidac
2021/07/11
1.6K0
就离谱!使用机器学习预测2022世界杯:小组赛挺准,但冠亚季军都错了 ⛵
FIFA 2022世界杯已经落幕!关于哪支球队将赢得冠军的讨论,也有了明确答案。恭喜梅西!恭喜阿根廷!赛前 ShowMeAI 使用数据科学和机器学习的技能,开发一个基于历史数据的模型来预测 FIFA 2022 世界杯比赛结果。现在尘埃落定,让我们一起看看机器学习的预测与实际比赛结果,有多大大大大的差距吧!
ShowMeAI
2022/12/20
5860
就离谱!使用机器学习预测2022世界杯:小组赛挺准,但冠亚季军都错了 ⛵
干货!如何用 Python+KNN 算法实现城市空气质量分析与预测?
随着中国工业和科技的发展,中国的一些发达城市的空气质量问题变得越来越严重,其中最为严重的便是PM2.5带来的恶劣环境问题。
AI科技大本营
2020/07/09
2.1K0
干货!如何用 Python+KNN 算法实现城市空气质量分析与预测?
在Python中自然语言处理生成词云WordCloud
很多时候,您可能会看到一片云,上面堆满了许多大小不同的单词,这些单词代表了每个单词的出现频率或重要性。这称为标签云或词云。对于本教程,您将学习如何在Python中创建自己的WordCloud并根据需要自定义它。
拓端
2020/09/25
1.5K0
十分钟入门Pandas
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
村雨遥
2019/09/09
4.4K0
利用Python进行数据分析笔记
本书讲的是利用Python进行数据控制、处理、整理、分析等方面的具体细节和基本要点。我的目标是介绍Python编程和用于数据处理的库和工具环境,掌握这些,可以让你成为一个数据分析专家。虽然本书的标题是“数据分析”,重点却是Python编程、库,以及用于数据分析的工具。这就是数据分析要用到的Python编程。
CtrlX
2023/03/21
5.5K0
利用Python进行数据分析笔记
Python100Days
这可能是我目前发现最好最好的Python教程了,故整理至我的博客。 原项目GitHub地址https://github.com/jackfrued/Python-100-Days
一点儿也不潇洒
2018/08/07
10.4K0
精通 Pandas:1~5
在本节中,我们将讨论使数据分析成为当今快速发展的技术环境中日益重要的工作领域的趋势。
ApacheCN_飞龙
2023/04/23
20.9K0
【技巧】ChatGPT Prompt 提示语大全
Contributed by: StoryChief AI Reference: 7 Powerful ChatGPT Prompts to Create SEO Content Faster 供稿人:StoryChief AI 参考:https://storychief.io/blog/chatgpt-prompts-seo
小锋学长生活大爆炸
2024/05/25
2830
【技巧】ChatGPT Prompt 提示语大全
100天学会python
目前我使用的Python 3.7.x的版本是在2018年发布的,Python的版本号分为三段,形如A.B.C。其中A表示大版本号,一般当整体重写,或出现不向后兼容的改变时,增加A;B表示功能更新,出现新功能时增加B;C表示小的改动(例如:修复了某个Bug),只要有修改就增加C。如果对Python的历史感兴趣,可以阅读名为《Python简史》的网络文章。
她的店里只卖樱花
2023/01/06
3.5K0
100天学会python
Python爬虫之BeautifulSoup
Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。官方解释如下: Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。
全栈程序员站长
2022/09/01
1.9K0
统计学学术速递[9.9]
【1】 Desiderata for Representation Learning: A Causal Perspective 标题:表征学习的愿望:因果视角 链接:https://arxiv.org/abs/2109.03795
公众号-arXiv每日学术速递
2021/09/16
7990
人工智能学术速递[7.7]
【1】 Improving Coherence and Consistency in Neural Sequence Models with Dual-System, Neuro-Symbolic Reasoning 标题:用双系统、神经-符号推理提高神经序列模型的一致性和一致性
公众号-arXiv每日学术速递
2021/07/27
1.2K0
人工智能学术速递[12.15]
【1】 EgoBody: Human Body Shape, Motion and Social Interactions from Head-Mounted Devices 标题:EgoBody:来自头盔设备的人体形状、运动和社会互动 链接:https://arxiv.org/abs/2112.07642
公众号-arXiv每日学术速递
2021/12/17
2K0
人工智能学术速递[12.6]
【1】 Coupling Vision and Proprioception for Navigation of Legged Robots 标题:腿式机器人导航中的视觉与视觉耦合 链接:https://arxiv.org/abs/2112.02094
公众号-arXiv每日学术速递
2021/12/09
1.2K0
相关推荐
十分钟,用 Python 带你看遍 GDP 变迁
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验