硬核看球,數據分析足壇轉會窗口各隊表現
- 2019 年 10 月 8 日
- 筆記
本文轉載自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
在這裡不多列舉了,對於第三名,為什麼就這幾個字就能排名如此高,答案不言自明:

所有評論的詞云:

沒錯,就是狗頭,大家最愛的狗頭!