用Python分析“女神大會(huì)”,碼農(nóng)很想娶的女星竟然是......
筆者作為一位喜愛(ài)足球的球迷,“懂球帝”一定會(huì)是款必不可少的 App,即使是只有 16G 的空間,也從未將其卸載。
然而我們今天聊的與足球無(wú)關(guān),而是去聊懂球帝上的“女神大會(huì)”專(zhuān)欄,作為一個(gè)大型“鋼鐵直男”聚集地,“懂球帝”上對(duì)各位女神的評(píng)分,對(duì)廣大“鋼鐵直男”群體也具有一定代表性。
數(shù)據(jù)來(lái)源
目前女神大會(huì)更新至了第 90 期,總共出場(chǎng)了 90 位女神,界面如下:
我們通過(guò) fiddler 獲取該界面中女神的照片地址以及每一篇文章的 id 編號(hào),用于之后的爬取和可視化,代碼如下:
- import json
- import requests
- from bs4 import BeautifulSoup
- import pandas as pd
- import re
- import os
- os.chdir('D:/爬蟲(chóng)/女神')
- 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
另一方面,每位女神的評(píng)分都在下一期當(dāng)中,我們需要爬取文章內(nèi)容進(jìn)行獲取:
爬取代碼如下:
- 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
整體對(duì)比
我們此次利用 R 語(yǔ)言中的 ggimage 包,將獲取到的女神圖片加入到最終的圖表中,提高可視化效果。
首先看一下整體評(píng)分的 ***5 名單:
朱茵、林志玲、高圓圓位居榜單前三位,不知道這份榜單是否符合你心目中的女神標(biāo)準(zhǔn),而這三位也恰好成為了目前出場(chǎng)的 90 位女星當(dāng)中香港、臺(tái)灣、大陸的***分。
值得一提的是,懂球帝小編對(duì)于活躍于 90 年代的香港女星情有獨(dú)鐘,從中選取了非常多的女神,而這些女神的評(píng)分也都名列前茅。
下面看一下目前出場(chǎng)的 90 位女神中,排名相對(duì)靠后的幾位:
很多朋友會(huì)覺(jué)得這份榜單對(duì)于年輕女神有些苛刻,可能這也代表了廣大網(wǎng)友對(duì)于各位年輕女神的美好期許,體現(xiàn)了她們未來(lái)的***可能。
區(qū)域?qū)Ρ?/span>
我們分區(qū)域看一下目前各個(gè)區(qū)域排名前十的名單:
看完了各個(gè)區(qū)域 ***0 的名單之后,我們進(jìn)行一下區(qū)域的對(duì)比:
我們將小提琴圖與盒形圖相結(jié)合,進(jìn)行區(qū)域的對(duì)比,可以看到大陸女星的評(píng)分相對(duì)偏低。
一方面是由于部分女神的評(píng)分較低,拉低了整體的分值;另一方面也是由于目前出場(chǎng)的大陸女星年齡普遍偏小,而這一點(diǎn)也會(huì)在下一部分得到證實(shí)
年份對(duì)比
我們看一下各個(gè)年份出生的女星總體評(píng)分情況對(duì)比,其中“60 后”選項(xiàng)也包含了 60 前的女神,“90 后”選項(xiàng)也包含了 00 后的女神:
可以看到 60 后、70 后的女神們平均分?jǐn)?shù)要高于 80 后,而 80 后顯著高于 90 后。
一方面說(shuō)明了大家對(duì)老牌女神們的認(rèn)可;另一方面也是體現(xiàn)了大家對(duì)新生女神們的***期許。
我們下面將區(qū)域與年份綜合起來(lái)進(jìn)行對(duì)比:
可以看到參與評(píng)分的大陸女神普遍比較年輕,這也一定程度解釋了此前提到的大陸女神整體評(píng)分偏低的原因。
而港臺(tái)女神普遍集中在 60、70 后,這些女神們活躍的 90 年代也是香港電影、電視的黃金時(shí)期,我們也期待著香港影視未來(lái)的復(fù)蘇。
后記
懂球帝目前的女神大會(huì)做到了 90 期,并沒(méi)有十分完整地囊括廣大女神,比如“四旦雙冰”就都沒(méi)有出現(xiàn),使得這次的數(shù)據(jù)并不能完全地表述廣大“鋼鐵直男”心中的女神標(biāo)準(zhǔn),未來(lái)隨著期數(shù)的增加,相信會(huì)有更加完善的分析。
***,小編突發(fā)奇想,想要看下在一周中不同時(shí)間出場(chǎng)的女神評(píng)分是否會(huì)有區(qū)別:
出乎小編意料的是,在小編一周中最開(kāi)心的三天周四(即將放假),周五(迎接放假),周六(享受放假)的三天中出場(chǎng)的女神評(píng)分反而偏低,或許是由于數(shù)據(jù)量偏少,未來(lái)隨著期數(shù)的增加,小編也會(huì)密切關(guān)注這點(diǎn)。
作者:徐麟
簡(jiǎn)介:目前就職于互聯(lián)網(wǎng)公司數(shù)據(jù)部,哥大統(tǒng)計(jì)數(shù)據(jù)狗,從事數(shù)據(jù)挖掘&分析工作,喜歡用 R&Python 玩一些不一樣的數(shù)據(jù)。