我爬了楊超越程式設計杯,這是什麼硬核的追星方式!

我爬了楊超越程式設計杯,這是什麼硬核的追星方式!

私信回覆「

ycy

」即可獲取本文程式碼和資料

閱讀文字大概需要 6 分鐘。

大家好我是痴海,最近網際網路圈被楊超越程式設計杯給刷了屏,為了一探這硬核的追星方式,我爬了整個「超越杯」的資料。

1 什麼是超越杯

那什麼是超越杯?簡單的來說就是由村民「楊超越的粉絲」自主舉辦的程式設計大賽,為了給超越打氣加油並安利。

我爬了楊超越程式設計杯,這是什麼硬核的追星方式!

那楊超越又是誰?可能你並不知道楊超越,但她的表情包你一定見過。

我爬了楊超越程式設計杯,這是什麼硬核的追星方式!

對就是這張前段時間瘋狂刷屏的表情「信超越,得好運」。

封面圖也是超越杯的宣傳海報,設計風格不僅非常酷,並且還有主辦方和協辦方,非常專業。

超越杯的主題不限範圍,任何與楊超越相關的產品都可以參賽。比賽的流程主要分為四個階段:組隊、開發、比賽、運維。

Github 地址

https://github。com/ccyyycy/ycy/

我爬了楊超越程式設計杯,這是什麼硬核的追星方式!

目前已經有超過 200 名的村民參加比賽,村民當中還不乏一些 BAT 的員工,優秀作品的參賽者,還有機會得到 BAT 內推的名額。這是什麼硬核的追星方式!

2 爬取 Issue 資料

我作為一名爬蟲選手,自然就想到去 GitHub 倉庫上爬一波資料,看看這些村民都有哪些優秀的想法和專案。

我爬了楊超越程式設計杯,這是什麼硬核的追星方式!

專案說明規定了需要參賽的村民請到 Issue 裡發表組隊,於是我打開了 Issue 介面。

我爬了楊超越程式設計杯,這是什麼硬核的追星方式!

村民的腦洞真是大開,有做遊戲的、做 APP 的、甚至還用上了深度學習。隨後我編寫了「ycy_github。py」爬蟲,把 Issue 裡 229 資料都爬了下來,並存入到 mongodb 中。

我爬了楊超越程式設計杯,這是什麼硬核的追星方式!

我儲存了 Issue 裡的標題、相應連結、提交時間以及提交者的名稱。超越杯資料有了,接下來就要開始下一步的分析。

3 超越杯的資料分析

有些資料內容並沒有按格式來,而對於做資料分析的來說統一資料格式是非常重要的一件事,所以我首先把不符合格式的資料清理掉,清除後的資料還有 46 條。

1 格林威治時間轉化

首先第一個坑就是 issue 上爬到的時間是「格林威治的時間」,並不是我們標準的北京時間格式。

我爬了楊超越程式設計杯,這是什麼硬核的追星方式!

所以我寫了個函式先把「格林威治時間」先轉化下。

def utc2local(date_string): import dateutil。parser import pytz from datetime import datetime local_time = dateutil。parser。parse(date_string)。astimezone(pytz。timezone(‘Asia/Shanghai’)) da = datetime。strftime(local_time, ‘%Y-%m-%d %H:%M:%S’) return da

2 清洗不符合規範的標題

專案說明欄那裡已經說明了提交格式 ,即下面這張圖。

我爬了楊超越程式設計杯,這是什麼硬核的追星方式!

我就可以利用 split 函式分割 + 符號,如果分割出來的長度是等於 5 那大機率說明是按標準的格式來的,但還是會有不符合標準的。

原資料只有:issue_title、issue_url、issue_time、issue_name。

我爬了楊超越程式設計杯,這是什麼硬核的追星方式!

透過清洗到了最後的資料變成了下圖所示,這樣的資料就多了非常多有用的資訊了。

我爬了楊超越程式設計杯,這是什麼硬核的追星方式!

到這裡本次超越杯的資料基本清理完畢,清洗完之後就開始真正的分析環節了。

4 村民專案提交數

我爬了楊超越程式設計杯,這是什麼硬核的追星方式!

在時間線這條緯度上,3 月 8 號村民提交的 issue 數量是最多的,隨後的數量依次遞減。

5 村民們選題的方向

我爬了楊超越程式設計杯,這是什麼硬核的追星方式!

我從符合規範中的 46 個專案,透過標題得出的方向,從高到底依次給村民們的專案進行排序。

39% 的村民選擇了做遊戲,其他的佔比基本差不多。村民們的方向也非常豐富多彩,遊戲、音訊、網站、圖片、養成等等都有人在做。

其中有個「程式語言」引起了我的注意,好奇的我點開具體的 issue 地址,專案名為「超越語言/YCYL」。原來是為用繁體字的程式設計大佬,想要編寫屬於 YCY 的專屬程式語言。

我爬了楊超越程式設計杯,這是什麼硬核的追星方式!

6 村民們腦洞大開的專案名稱

接下來我對村民們的專案名稱做了一個詞雲,看看大家用到最多的詞語是什麼。

我爬了楊超越程式設計杯,這是什麼硬核的追星方式!

很明顯大家在取專案名稱的時候,大多數會使用超越體,比如「超越快吃鴨」、「超越狂扁小朋友」、「超越帶你玩」、「超越AR相機」。

但其中不乏一些即沙雕又有趣的專案名稱。

1「雙馬尾少女不死魚檸檬精」

我爬了楊超越程式設計杯,這是什麼硬核的追星方式!

2 「旅行青蛙-楊小越」

我爬了楊超越程式設計杯,這是什麼硬核的追星方式!

3 「超越滑機大戰」

我爬了楊超越程式設計杯,這是什麼硬核的追星方式!

7 村民們使用的技術棧

我爬了楊超越程式設計杯,這是什麼硬核的追星方式!

村民們使用的技術棧最多是前三名依次是:微信小程式、微信小遊戲、Python。

由於大家編寫的技術名稱並不是規範的寫法,所以在統計使用技術棧的時候是有挺大偏差的。但並不影響從資料中可以看出,村民各個都身懷絕技,有會 Python、小程式、iOS、Anroid、小程式、機器學習、AR 等等。從前端到後臺、從資料到建模、從設計到遊戲,沒有村民們不會的技術。

微信小程式之所以會被眾多村民使用,一是於最近幾年小程式的火爆,二是基於微信這個超級 APP 更容易傳播,說不定其中的優秀的作品會在朋友圈引起不小的轟動,這樣就可以把超越安利給更多的路人。

8 混入其中

在 issue 上面其實還有很多其他方向的內容,其中有不少的村民是選擇爬蟲,一下子我就興奮起來,雖後我就順藤摸瓜加入了其中一個 qq 群。

我爬了楊超越程式設計杯,這是什麼硬核的追星方式!

沒錯我也是白嫖程式碼的混子之一。

雖然群裡大家調侃自己是來白嫖的,但實際上大家從確認主題,討論方案,畫出思維導圖,分工,開始執行,這些步驟在短短的幾個小時內就確認好,執行力非常驚人。

我爬了楊超越程式設計杯,這是什麼硬核的追星方式!

9 總結

楊超越最初出現在人們視野是在「創造 101」這檔綜藝節目上,由於她單純不做作的性格,逐漸吸粉。但那時候知道楊超越的人還是範圍很小的一部分,直到下面的表情出現之後,各大網路門戶都能看到楊超越的身影。

我爬了楊超越程式設計杯,這是什麼硬核的追星方式!

我關注到楊超越也是因為朋友圈出現非常多這樣的圖片,甚至有人還當做頭像。

而如今「超越杯」又火了起來,但它為什麼會火?

固然是由於楊超越本身就是頂級的流量明星帶來的熱度,但我想是因為這樣的追星方式,重新整理了大部分人以前認知的。

以前的追星方式從來沒有出現過這麼硬核的程式設計形式,人天生對新鮮的事物會產生好奇心。就像我因為好奇村民們都會哪些優秀的想法,我才會寫下這篇文章。所以這樣的「超越杯」,才會引起人們的關注。

如今網際網路時代,如果你有獨特的一面,是有非常大機率火起來的。比如這次的「超越杯」,如果你也是一名程式設計師,恰好你的技術不錯又有好的點子,最後勝出,雖然不會讓你名聲鵲起,但肯定能讓你被關注「超越杯」的人記住。被人記住,你就可能是這個圈子裡 的 KOL(意見領袖),你的影響力就有可能逐漸建立起來,一定你擁有自己的影響力,未來是會產生非常多你意想不到的收益。

最後妹子們如果遇到程式設計師就嫁了吧,錢多話少執行力還賊強。

私信回覆「

ycy

」即可獲取本文程式碼和資料。