明日方舟少人Wiki作戰(zhàn)記錄的抓取與統(tǒng)計

1. 少人wiki介紹
明日方舟少人Wiki:https://arkrec.wiki B站:明日方舟少人WIKI
一個熱愛明日方舟少人玩法的玩家社群所建立的收集明日方舟優(yōu)秀作戰(zhàn)記錄的網(wǎng)站。網(wǎng)站依托B站視頻,收錄各關卡各活動的少人記錄;用戶可注冊賬號提交記錄,由管理員審核通過后就會展示在相應關卡界面。
目前網(wǎng)站處于初創(chuàng)期,收集的作戰(zhàn)記錄主要有少人、合約和3/4星隊伍。wiki在計劃引入各種流派自限隊,各種功能會逐步開發(fā)完善。
(轉自網(wǎng)站介紹)

2. 作戰(zhàn)記錄抓取與統(tǒng)計
目前網(wǎng)站提供了“按作戰(zhàn)”和“按干員”兩種查詢方式。我們使用python抓取按干員查詢的作戰(zhàn)數(shù)據(jù)。原始的單個作戰(zhàn)返回值如圖:

可以看到提供了很豐富的信息,包括關卡、隊伍類型Tag、配隊、技能和攻略者等。
為了統(tǒng)計所有干員、作戰(zhàn)的信息,這里對隊伍類型、配隊、地圖、攻略者等信息進行分類匯總,以方便下一步處理。
team字段以諸如”夜煙1“的格式記錄了配隊信息,從這里可以同時提取出干員和技能信息。
但是,注意到方舟的少數(shù)干員,名字恰好是另一個干員的前綴/后綴。例如【梅】爾、【阿】米婭、濁心【斯卡蒂】等。在配隊中可能會同時出現(xiàn)“梅1”“梅爾2”這樣的記錄,為了正確區(qū)分,設定了一個怪異的正則。
最后匯總的結果如下。
接下來使用matplotlib對結果進行可視化。再用一個腳本將匯總數(shù)據(jù)處理成matplotlib能接受的列表式數(shù)據(jù)并排序:

純python做數(shù)據(jù)變換確實相當?shù)疤?,或許numpy里有一些好用的工具?

3. 統(tǒng)計結果
關于統(tǒng)計結果的說明:
- 分別統(tǒng)計了作戰(zhàn)數(shù)(每條作戰(zhàn)記錄記一次)和不同地圖數(shù)(每出現(xiàn)在一張地圖上計一次)。同時列出了各技能的使用次數(shù)。一部分數(shù)據(jù)未標注使用何種技能,其中大部分是1技能(例如3星/無精英隊伍)
- “常規(guī)隊”指除少人以外,對配隊、練度、打法等不再進行任何限制的隊伍,不包括3/4星隊、特種隊等特殊自限tag
- 受到干員實裝時間的影響,新干員的記錄數(shù)量一般會少于老干員,屬于正?,F(xiàn)象。
- 算法沒有對不同地圖的“難度”進行區(qū)分。Heggria大佬有打算做一個基于難度加權的統(tǒng)計出來,敬請期待
- 結果僅供參考,不能代表干員普遍強度

6星
溫馨提示:點開圖片后,把網(wǎng)址png后面的部分去掉即可查看完整尺寸原圖


5星(頭部)

5星(尾部)


4星(所有隊伍,包括4星隊)


3星
