本文转载自1024开发者社区,详情可以扫描下方二维码:
前言
各大联赛在7月初都打开了转会窗口,各路豪强纷纷出巨资对阵容进行补强,比如格列兹曼加盟巴塞罗那(文章图片源于懂球帝):
各家经纪人又到了收获的季节,媒体也是趁此机会大量炮制新闻,极其热闹,涌现出一批“弄潮儿”。
本文通过爬取“懂球帝”一个月来转会新闻,为您从数据角度分析转会市场波谲云诡的变化。
本文数据来源懂球帝,只用于学习交流,不用于商业获利,如对任何公司,个人造成不利影响,请告知删除。
一、数据获取
在懂球帝APP中搜索“转会”关键字,可以获取转会相关的新闻列表,如图:
通过Fiddler 对APP数据进行抓取,获得新闻列表页的URL:
具体Fiddler 配置方法见:
https://blog.csdn.net/c406495762/article/details/76850843
通过URL爬取新闻列表中新闻的id,title等信息,代码如下:
for i in range(1, 91): # 每一页20篇
url= '******************************* ' +str(i ) +'********'
html = requests.get(url=url ,headers=header).content
news = json.loads(html.decode('utf-8'))['news']
this_id = [k['id'] for k in news]
id_list = id_list + this_id
time.sleep(2)
flag += 1
print(flag)
pd_data = pd.DataFrame(id_list ,columns=['id_news'])
pd_data.to_excel('id_news.xls', na_rep=False)
根据得到的新闻id列表,对每一个新闻具体信息进行获取,并存入MongoDB数据库中,代码如下:
def main():
id_list = pd.read_excel('id_news.xls', usecols=['id_news'])
for i in range(1277,len(id_list)):
url = '**********************'+str(id_list.iloc[i,0])
tags = []
News_info = {
'article_id': None,
'title': None,
'visit_total': None,
'writer': None,
'time': None,
'source': None,
'tag': None,
} cookies = 'v=3; iuuid=1A6E888B4A4B29B16FBA1299108DBE9CDCB327A9713C232B36E4DB4FF222CF03; webp=true; ci=1%2C%E5%8C%97%E4%BA%AC; __guid=26581345.3954606544145667000.1530879049181.8303; _lxsdk_cuid=1646f808301c8-0a4e19f5421593-5d4e211f-100200-1646f808302c8; _lxsdk=1A6E888B4A4B29B16FBA1299108DBE9CDCB327A9713C232B36E4DB4FF222CF03; monitor_count=1; _lxsdk_s=16472ee89ec-de2-f91-ed0%7C%7C5; __mta=189118996.1530879050545.1530936763555.1530937843742.18'
cookie = {}
for line in cookies.split(';'):
name, value = cookies.strip().split('=', 1)
cookie[name] = value
try:
html = requests.get(url=url,cookies=cookie, headers=header).content
except:
print('请求失败', id_list.iloc[i,0])
continue
n = 1+ random.uniform(0, 2)
time.sleep(n)
try:
news_info = json.loads(html.decode('utf-8'))['data']
News_info['article_id'] = news_info['article_id']
News_info['title'] = news_info['title']
News_info['visit_total'] = news_info['visit_total']
News_info['writer'] = news_info['writer']
News_info['time'] = news_info['time']
News_info['source'] = news_info['source']
infos = news_info['infos']['channels'][:]
for info in infos:
infos_tag = info['tag']
tags.append(infos_tag)
News_info['tag'] = tags
save_to_mongo(News_info,MONGO_TABLE1)
except:
continue
一个月共获取新闻信息1742条:
当然球迷的评论更是懂球帝好看的地方,所以讲每篇新闻热评也爬取下来,看看谁是这一个月热评王者。代码原理相同,此处不具体贴出。
主要获取热评文本,点赞数:
下面开始我们的数据大餐。
二、数据分析
1、阅读量最高top15
转会新闻非常多,其中最火,关注度最高的是哪条消息呢?
通过对阅读量属性排序,R语言ggplot进行可视化(感谢数据森麟:麟哥的指导),效果如下:
最受大家关注的果然还是德利赫特的归属问题。
2、哪个球员是被cue最多的?
提到转转会,就不得不说今年转会市场四小龙:
内马尔、德利赫特、格列兹曼、博格巴
下面看看他们到底在转会新闻中的关注度。
开始的结果出乎我的意料,贝尔通过月末和江苏队的转会传闻,末段超车,登上榜首:
所有球员的云图:
3、哪个球队出现频次最多?有你的主队吗?
直接上图:
没错,结果在我心中毫无波澜,第一名正是曼抬,不对,是曼联,这里面半壁江山是博格巴和马奎尔贡献的,此外前几名还是被几个江湖老大哥占据,江苏苏宁能上榜也让人欣喜。
所有球队的云图:
4、每天转会新闻发布量
足球转会挑时间吗?请看答案:
从每日转会新闻量来说,除了周末少一些外,其余时间没有较多规律。
5、哪个媒体发文最多?
球迷圈里一直流传着这样一张形容媒体可信度的图
下面来看懂球帝新闻来源的分布:
由此看出,我懂消息来源还是比较丰富,自己也拥有大量的原创新闻。
6、新闻标题词云
对新闻标题进行分词和词频统计,通过jieba分词时要添加停用词和自定义词:
jieba.load_userdict('dict.txt')
jieba.analyse.set_stop_words('stop_words.txt')
生成词云如下:
对于标题来说,频次最高的就是转会、转会费、官方等等。本图分词做的还不够细致,还有少部分没分好的词。
7、评论数据分析
懂球帝文章的评论区是一篇新闻的精华部分,下面就看一下最热的评论有哪些(由于评论较长,所以以文本的形式展示):
/TOP1/
题目:齐达内:球队正加紧处理贝尔的转会,他尽快离队对双方都好
评论:
就算贝尔离队了
大家别忘了2014年欧冠决赛长途奔袭的反超头球
别忘了2014国王杯的外道超车
别忘了2018年欧冠决赛的绝世倒钩
别忘了他为皇马付出的所有
感谢你!加雷斯
点赞数:12971
/TOP2/
题目:官方:德利赫特加盟尤文,转会费7500万欧+1050万额外费用
评论:
《德利赫特传》
目录:第一章-梦想的开始(阿贾克斯篇)
第二章-初露锋芒
第三章-逐梦之路(巴萨初篇)
第四章-梦想还是现实?(巴黎篇)
第五章-传说的神抬(曼联篇)
第六章-眷恋与不舍(自宣可能留队篇)
第七章-挖掘机哪家强(拜仁篇)
第八章-白色之梦(皇马篇)
第九章-突然杀出?老妇人的奋起直追(尤文篇)
第十章-决战拉胖之巅(巴萨尤文篇)
第十一章-神抬再次出山?(曼联最后的挣扎)
第十二章-罗老头的真面目(懂得都懂)
第十三章-老妇人的最终抉择
第十四章-梦想终不敌现实(结束)
点赞数:12644
/TOP3/
题目:恩东贝莱加盟热刺,转会费最高7000万欧,热刺队史标王
评论:从此伦敦只有一个穷逼[狗头]
点赞数:8453
在这里不多列举了,对于第三名,为什么就这几个字就能排名如此高,答案不言自明:
所有评论的词云:
没错,就是狗头,大家最爱的狗头!
◆ ◆ ◆ ◆ ◆
长按二维码关注我们
数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。
管理员二维码: