筆者作為一位喜愛足球的球迷,「懂球帝」一定會是款必不可少的app,即使是隻有16G的空間,也從未將其卸載。然而我們今天聊的與足球無關,而是去聊懂球帝上的「女神大會」專欄,作為一個大型「鋼鐵直男」聚集地,「懂球帝」上對各位女神的評分,對廣大「鋼鐵直男」羣體也具有一定代表性。

數據來源

目前女神大會更新至了第90期,總共出場了90位女神,界面如下:

我們通過fiddler獲取該界面中女神的照片地址以及每一篇文章的id編號,用於之後的爬取和可視化,代碼如下:

import json
import requests
from bs4 import BeautifulSoup
import pandas as pd
import re
import os
os.chdir(D:/爬蟲/女神)

id_list = []
title_list = []
pic_list = []
date_list=[]

for i in range(1,6):
url= http://api.dongqiudi.com/search?keywords=%E5%A5%B3%E7%A5%9E%E5%A4%A7%E4%BC%9A&type=all&page=+str(i)
html = requests.get(url=url).content
news = json.loads(html.decode(utf-8))[news]
this_id = [k[id] for k in news]
this_pic = [k[thumb] for k in news]
this_title = [k[title] for k in news]
this_date = [k[pubdate] for k in news]
this_title=[BeautifulSoup(k,"html.parser").text for k in this_title]
id_list = id_list+this_id
title_list = title_list+this_title
pic_list = pic_list+this_pic
date_list = date_list+this_date

另一方面,每位女神的評分都在下一期當中,我們需要爬取文章內容進行獲取:

爬取代碼如下:

prev_title_list = []
score_list=[]
count_list=[]
for id in id_list:
url = http://www.dongqiudi.com/archive/{k}.html.format(k=id)
header = {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win32; x32; rv:54.0) Gecko/20100101 Firefox/54.0,
Connection: keep-alive}
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
html = requests.get(url,cookies=cookie, headers=header).content
try:
content = BeautifulSoup(html.decode(utf-8),"html.parser")
score = content.find(span,attrs={style:"color:#ff0000"}).text
prev_title = content.find(a,attrs={"target": "_self"}).text
prev_title_list.append(prev_title)
score_list.append(score)
sentence = content.text.split(,)
count=[k for k in sentence if re.search(截至目前,str(k))][0]
count_list.append(count)
except:
continue

整體對比

我們此次利用R語言中的ggimage包,將獲取到的女神圖片加入到最終的圖表中,提高可視化效果,首先看一下整體評分的TOP15名單:

朱茵、林志玲、高圓圓位居榜單前三位,不知道這份榜單是否符合你心目中的女神標準,而這三位也恰好成為了目前出場的90位女星當中香港、臺灣、大陸的最高分。值得一提的是,懂球帝小編對於活躍於90年代的香港女星情有獨鍾,從中選取了非常多的女神,而這些女神的評分也都名列前茅。

下面看一下目前出場的90位女神中,排名相對靠後的幾位:

很多朋友會覺得這份榜單對於年輕女神有些苛刻,可能這也代表了廣大網友對於各位年輕女神的美好期許,體現了她們未來的無限可能。

區域對比

我們分區域看一下目前各個區域排名前十的名單

看完了各個區域TOP10的名單之後,我們進行一下區域的對比:

我們將小提琴圖與盒形圖相結合,進行區域的對比,可以看到大陸女星的評分相對偏低,一方面是由於部分女神的評分較低,拉低了整體的分值,另一方面也是由於目前出場的大陸女星年齡普遍偏小,而這一點也會在下一部分得到證實

年份對比

我們看一下各個年份出生的女星總體評分情況對比,其中「60後」選項也包含了60前的女神,「90後」選項也包含了00後的女神

可以看到60後、70後的女神們平均分數要高於80後,而80後顯著高於90後,一方面說明瞭大家對老牌女神們的認可,另一方面也是體現了大家對新生女神們的無限期許

我們下面將區域與年份綜合起來進行對比:

可以看到參與評分的大陸女神普遍比較年輕,這也一定程度解釋了此前提到的大陸女神整體評分偏低的原因。而港臺女神普遍集中在60、70後,這些女神們活躍的90年代也是香港電影、電視的黃金時期,我們也期待著香港影視未來的復甦

後記

懂球帝目前的女神大會做到了90期,並沒有十分完整地囊括廣大女神,比如「四旦雙冰」就都沒有出現,使得這次的數據並不能完全地表述廣大「鋼鐵直男」心中的女神標準,未來隨著期數的增加,相信會有更加完善的分析

最後,小編突發奇想,想要看下在一週中不同時間出場的女神評分是否會有區別:

出乎小編意料的是,在小編一週中最開心的三天週四(即將放假),週五(迎接放假),週六(享受放假)的三天中出場的女神評分反而偏低,或許是由於數據量偏少,未來隨著期數的增加,小編也會密切關注這點。

彩蛋

關注,點贊後獲取完整源碼。

作者介紹:徐麟,目前就職於互聯網公司數據部,哥大統計數據狗,從事數據挖掘&分析工作,喜歡用R&Python玩一些不一樣的數據

個人公眾號:數據森麟(ID:shujusenlin),知乎同名專欄作者。

推薦閱讀:

相關文章