梅西离开巴萨?看看球迷们怎么说

Crossin的编程教室

共 5487字,需浏览 11分钟

 ·

2020-09-05 23:41



作者:Scofield

公众号:ImagineScofield


从8月26日凌晨梅西要求离开巴萨俱乐部的消息爆出到现在已经一周了,梅老板离队事件持续发酵,期间数度登上热搜,关于“梅西去哪儿”这一话题众说纷纭,这棵足坛历史上最大的树注定一时半会儿是下不了了。

作为一名焦急等待下树的不知名梅吹,为了跳出个人狭窄的视角,从更宏观的角度了解广大球迷对梅西离队的看法,我从体育网站“直播吧”抓取了近万条关于梅西离队的网友评论,并做了简单的文本可视化分析。

逻辑思路

1.在直播吧网站选取能够很好的反映梅西离队事件的新闻

2.从上述新闻中的评论区获取网友评论数据

3.依照自己的需求对数据进行处理(梅西下家?相关被提及人物?...)

4.文本数据可视化(前面三部分偏技术实现,不想看可直接跳到第四部分

选取合适新闻

本次共选取了20条新闻。其中19条来自直播吧在8月28日官方发布一个新闻集合——“迎来转机?梅西近三日转会动向一览”。(https://news.zhibo8.cc/zuqiu/2020-08-28/5f49213b43c20.htm)。

为了更好的反映网友对梅西去向的看法,另外选取了一条新闻——”【投票】如果梅西离开巴萨,他会加盟哪支俱乐部?”(https://news.zhibo8.cc/zuqiu/2020-08-26/5f4562d4aabc5.htm)

评论数据获取

分析网站页面

在直播吧网站评论页面,如果评论数较多,需要不断点击加载更多评论(一次点击大概加载100条评论)才能加载完所有评论数据,这是一个动态网页,在采集数据时要处理好Ajax动态加载。 

获取数据

直播吧的评论分为主评论和回复评论,这里只抓取主评论。今天我们的重点在数据处理和可视化,所以我使用了八爪鱼采集器进行抓取,八爪鱼作为一个数据爬取工具能够很好的处理Ajax动态加载,并且简单不用写代码。

上图是爬取流程思路,具体操作就不细写了。最终总共得到了9250条评论数据,具体分布如下:

数据处理

导入相关包

# 导入基础数据分析库
import numpy as np
import pandas as pd
# 导入分词库
import jieba
import re
# 导入绘图库
import matplotlib.pyplot as plt
from pyecharts.charts import *
from pyecharts import options as opts
from pyecharts.charts import Liquid # 水滴图
from pyecharts.globals import ThemeType
import stylecloud
from IPython.display import Image

导入评论数据

df = pd.read_csv('messigowhere.csv', names=['评论内容'])
df.head(3)
df.info()
df['评论内容'] = df['评论内容'].astype('str')

按照需求提取关键词

# 新增关键词
def club_comment(df,result):
    clubs = pd.DataFrame(np.zeros(7 * len(df)).reshape(len(df),7),
                      columns = ['C罗','苏亚雷斯','瓜迪奥拉','内马尔','阿圭罗','巴托梅乌','科曼'])
    for i in range(len(result)):
        words = result[i]
        for word in words:
            if 'C罗' in word or 'C' in word or 'c' in word or '梅罗' in word:
                clubs.iloc[i + 1]['C罗'] = 1
            if '苏亚雷斯' in word or '苏牙' in word:
                clubs.iloc[i + 1]['苏亚雷斯'] = 1
            if '迪奥拉' in word or '瓜帅' in word or '瓜秃' in word:
                clubs.iloc[i + 1]['瓜迪奥拉'] = 1
            if '内马尔' in word or '马尔' in word:
                clubs.iloc[i + 1]['内马尔'] = 1
            if '阿圭罗' in word or '阿坤' in word:
                clubs.iloc[i + 1]['阿圭罗'] = 1
            if '巴托' in word or '大熊' in word:
                clubs.iloc[i + 1]['巴托梅乌'] = 1
            if '科曼' in word:
                clubs.iloc[i + 1]['科曼'] = 1
    final_result = pd.concat([df,clubs],axis = 1)
    return final_result
df1 = club_comment(df,result)
df1 = df1.drop(labels = 0)
df1.head(5) # 头5行数据

这里主要通过统计词频的方式来反映相关情况,比如说以上代码就是通过统计相关人物词频的方式来反映网友更多的将哪些人物与梅西离队联系在一起。

数据可视化

评论整体情况

stopwords = open('baidu_stopwords.txt', encoding='utf-8').read().split('\n')
wholesome = "".join(df1['评论内容'])
word_list = jieba.cut(wholesome)
stylecloud.gen_stylecloud(text = ' '.join(word_list), max_words = 1000,
                          collocations = False,
                          font_path = 'C:\Windows\Fonts\simkai.ttf',
                          icon_name = 'fas fa-futbol',
                          size = 653,
                          palette = 'matplotlib.Inferno_9',
                          output_name = './comment.png',
                          custom_stopwords = stopwords)
Image(filename = './comment.png')


通过对9000多条网友评论绘制的词云图,我们很容易看出大家对梅西巴萨的关注。

2000年,年仅13岁的梅西来到巴塞罗那,二十年的岁月早已将阿根廷人和巴萨牢牢联系在一起,对于大多数球迷而言,说到巴萨就会想到梅西,梅西就代表着巴萨。虽然我看球晚,我也从未想过巴萨和梅西这两个词可以分开。

最近几年,俱乐部高层的蜜汁操作,加上连续三年在欧冠的惨败,重建巴萨的声音逐渐大了起来。就梅西个人而言,虽然已经33岁,但各项数据仍是全欧顶级,他渴望着再次夺得欧冠。队内进攻、组织一肩挑,作为前锋却多次后撤,梅西为巴萨已经奉献太多,而巴萨现在却不能更好的帮助到他,也许是时候离开诺坎普了。

梅西与巴萨互相成就。巴萨在帮助梅西身体成长方面作出了巨大的努力,让小跳蚤蜕变成六获金球的足球超巨;梅西也用20年、731场比赛、634球285助攻让巴萨稳坐西甲豪门。

作为球迷,如果梅西铁了心要离开巴萨,我希望他们好聚好散

“梅西”一词出现频率

messinum = len(df1[df1['评论内容'].str.contains('梅西')])
print(messinum) # 结果为3066
messinum_f = round(messinum / len(df1), 2)
m = (
    Liquid()
    .add("lq", [messinum_f])
    .set_global_opts(title_opts=opts.TitleOpts(title="“梅西”一词在评论中出现的频率"))
    )
m.render_notebook()


“梅西”一词3066条评论中出现过,频率是33%,也就是说10条评论中就有3条提及梅西,也许这就是超级巨星吧。

梅西去哪儿?

近日,现任利物浦主帅接受采访说:“我(是否对梅西)感兴趣?谁不想他的阵容里拥有梅西呢?。”

那么,谁都想要的梅西到底会去哪儿呢?

直播吧发过一个投票,可以看出大多数吧友都选的曼城,尤文、国米其次。

通过统计词频,我得到了差不多的结论,不过巴黎的名次要稍高于国米。

为什么是曼城?一是有钱;二是曼城的教练是昔日梅西恩师瓜迪奥拉;三是曼城的传控踢法与梅西八字相合。

至于尤文,绝代双骄双剑合并一直是广大球迷的愿望,梅西助攻C罗终结,那画面简直太美,就看尤文有没有这个魄力了。巴黎有钱有内马尔可能是网友们选他的主要原因。就现阶段媒体的报道来看,曼城在争夺中取得领先。当然,梅西可能最终继续留在巴萨。官宣之前,谁都说不好。

梅西离队,和谁最相关?

这里选取了7个人,人们常常将他们与梅西离队事件联系起来。

df3 = df1.iloc[:,1:].sum().reset_index().sort_values(0, ascending = True)
df3.columns = ['相关人物','次数']
df3['占比'] = df3['次数'] / df3['次数'].sum()

c = (
    Bar(init_opts=opts.InitOpts(theme=ThemeType.WESTEROS))
    .add_xaxis(df3['相关人物'].tolist())
    .add_yaxis("",df3['次数'].tolist()).reversal_axis() # X轴与y轴调换顺序
    .set_global_opts(title_opts=opts.TitleOpts(title="相关人物被提及次数",subtitle="数据来源:直播吧",pos_top="2%",pos_left = 'center'),
                       xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_size=16)), # 更改横坐标字体大小
                       yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_size=16)), # 更改纵坐标字体大小
                       )
    .set_series_opts(label_opts=opts.LabelOpts(font_size=16,position='right'))
    )
c.render_notebook()


C罗被提及的次数最多,果然有梅西的地方就有C罗,有C罗的地方就有梅西,绝代双骄,是掰不开的。另外,网友将梅西离开巴萨与C罗离开皇马相比较以及希望梅罗能够效力同一俱乐部也应该是C罗被提及次数多的原因。

网友们对巴托梅乌怎么看?

巴托梅乌,外号大熊。大熊作为俱乐部主席,他领导的这届管理层明显不能让广大球迷满意,甚至有球迷开玩笑说大熊是皇马方面派来的负责带跨巴萨的卧底......大多数巴萨球迷认为应该离开的是大熊而不是梅西,希望大熊能够立马辞职滚蛋

写在最后

先暂且写这么多。作为一名球迷,我当然希望看到梅西终老巴萨,在诺坎普10万人的山呼海啸中退役,一人一城。但正如莱茵克尔所说,如果梅西真想离队,希望俱乐部能够帮助他而不是阻碍他。

对此事件以及这个统计分析有什么想法,欢迎大家在留言区讨论。

祝福梅西!祝福巴萨


声明

1.作者看球晚,是个足球小白,如有疏漏、错误,请大家不吝指教;

2.本数据分析只做学习研究之用途,提供的结论仅供参考;

3.数据来源直播吧,作者普通吧友一个;

4.封面及文中梅西图片来自互联网。

文中所涉及的代码、数据已上传,获取请在公众号(Crossin的编程教室)里回复关键字 梅西

_往期文章推荐_

NBA的球星喜欢哪个位置出手




浏览 31
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报