作者 | 徐麟,目前就职于互联网公司数据部,哥大统计数据狗,从事数据挖掘&分析工作,喜欢用R&Python玩一些不一样的数据

编辑 | Emily

前言

作为一位喜爱足球的球迷,“懂球帝”一定会是款必不可少的 app,即使是只有 16G 的空间,也从未将其卸载。然而我们今天聊的与足球无关,而是去聊懂球帝上的“女神大会”专栏,作为一个大型“钢铁直男”聚集地,“懂球帝”上对各位女神的评分,对广大“钢铁直男”群体也具有一定代表性。

数据来源

目前女神大会更新至了第 90 期,总共出场了 90 位女神,界面如下:

我们通过 fiddler 获取该界面中女神的照片地址以及每一篇文章的 id 编号,用于之后的爬取和可视化,代码如下:

1import json
2import requests
3from bs4 import BeautifulSoup
4import pandas as pd
5import re
6import os
7os.chdir('D:/爬虫/女神')
8
9id_list = []
10title_list = []
11pic_list = []
12date_list=[]
13
14for i in range(1,6):
15   url= 'http://api.dongqiudi.com/search?keywords=%E5%A5%B3%E7%A5%9E%E5%A4%A7%E4%BC%9A&type=all&page='+str(i) 
16   html = requests.get(url=url).content
17   news = json.loads(html.decode('utf-8'))['news']
18   this_id = [k['id'] for k in news]
19   this_pic = [k['thumb'] for k in news]
20   this_title = [k['title'] for k in news]
21   this_date = [k['pubdate'] for k in news]
22   this_title=[BeautifulSoup(k,"html.parser").text for k in this_title]
23   id_list = id_list+this_id
24   title_list = title_list+this_title
25   pic_list = pic_list+this_pic
26   date_list = date_list+this_date

另一方面,每位女神的评分都在下一期当中,我们需要爬取文章内容进行获取:

爬取代码如下:

1prev_title_list = []
2score_list=[]
3count_list=[]
4for id in id_list:
5   url = 'http://www.dongqiudi.com/archive/{k}.html'.format(k=id)    
6   header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win32; x32; rv:54.0) Gecko/20100101 Firefox/54.0',
7   'Connection': 'keep-alive'}
8   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'
9   cookie = {}
10   for line in cookies.split(';'):
11       name, value = cookies.strip().split('=', 1)
12       cookie[name] = value    
13   html = requests.get(url,cookies=cookie, headers=header).content
14   try:
15       content = BeautifulSoup(html.decode('utf-8'),"html.parser")
16       score = content.find('span',attrs={'style':"color:#ff0000"}).text
17       prev_title = content.find('a',attrs={"target": "_self"}).text
18       prev_title_list.append(prev_title)
19       score_list.append(score)
20       sentence = content.text.split(',')
21       count=[k for k in sentence if re.search('截至目前',str(k))][0]
22       count_list.append(count)
23   except:
24       continue

整体对比

我们此次利用R语言中的 ggimage 包,将获取到的女神图片加入到最终的图表中,提高可视化效果,首先看一下整体评分的 TOP15 名单:

朱茵、林志玲、高圆圆位居榜单前三位,不知道这份榜单是否符合你心目中的女神标准,而这三位也恰好成为了目前出场的 90 位女星当中香港、台湾、大陆的最高分。值得一提的是,懂球帝小编对于活跃于 90 年代的香港女星情有独钟,从中选取了非常多的女神,而这些女神的评分也都名列前茅。

下面看一下目前出场的 90 位女神中,排名相对靠后的几位:

很多朋友会觉得这份榜单对于年轻女神有些苛刻,可能这也代表了广大网友对于各位年轻女神的美好期许,体现了她们未来的无限可能。

区域对比


我们分区域看一下目前各个区域排名前十的名单:

(以上图片均来自于“懂球帝”APP)

看完了各个区域 TOP10 的名单之后,我们进行一下区域的对比:

我们将小提琴图与盒形图相结合,进行区域的对比,可以看到大陆女星的评分相对偏低,一方面是由于部分女神的评分较低,拉低了整体的分值,另一方面也是由于目前出场的大陆女星年龄普遍偏小,而这一点也会在下一部分得到证实

年份对比

我们看一下各个年份出生的女星总体评分情况对比,其中“60后”选项也包含了 60 前的女神,“90后”选项也包含了 00 后的女神

可以看到 60 后、70 后的女神们平均分数要高于 80 后,而 80 后显著高于 90 后,一方面说明了大家对老牌女神们的认可,另一方面也是体现了大家对新生女神们的无限期许。

我们下面将区域与年份综合起来进行对比:

可以看到参与评分的大陆女神普遍比较年轻,这也一定程度解释了此前提到的大陆女神整体评分偏低的原因。而港台女神普遍集中在 60、70 后,这些女神们活跃的 90 年代也是香港电影、电视的黄金时期,我们也期待着香港影视未来的复苏。

后记

懂球帝目前的女神大会做到了90期,并没有十分完整地囊括广大女神,比如“四旦双冰”就都没有出现,使得这次的数据并不能完全地表述广大“钢铁直男”心中的女神标准,未来随着期数的增加,相信会有更加完善的分析

最后,我突发奇想,想要看下在一周中不同时间出场的女神评分是否会有区别:

这个结果有点意外呢!在一周快要结束的两天,即周四和周五的评分反而比周一到周三还要低,目前还不能确定是否有数量不足导致的偏差,后续我们还将继续关注,也希望这次的分析能让大家感受到 Python 的魅力,下次可以自己实践一波~

(本文为投稿文章,转载请联系原作者。)

福利

公众号后台回复:2018Python,获取2018Python开源项目Top100整理资料!或扫码添加小助手微信,回复:1,入群获取。

推荐阅读:

  • Python的P图大法,你值得拥有!

  • 手把手教代码|还没入门Python就想放弃怎么破?手把手教代码

  • 维基百科联手谷歌翻译,结果“惨不忍睹”!

  • AI删库,程序员背锅?

  • 用这个Python教程赶紧查一下你的邮箱信息是否泄露?

  • 20行Python代码给微信头像戴帽子

  • 用Python画一只小猪佩奇送给你!

  • Python 2.7退休倒计时,Python 3必须学起来了(附入门学习资源)

  • 2018年Python开源项目Top100!

  • 精选180+Python开源项目,随你选!做项目何愁没代码

  • 100多本Python书,免费下载

用Python解读“女神大会”,直男心目中的女神是这样的~相关推荐

  1. 用 Python 爬虫框架 Scrapy 爬取心目中的女神

    From :http://www.cnblogs.com/wanghzh/p/5824181.html 本博文将带领你从入门到精通爬虫框架 Scrapy,最终具备爬取任何网页的数据的能力. 本文以校花 ...

  2. Python数据解读广大“钢铁直男”眼中的女神

    前言 本文图片来自于"懂球帝"APP 笔者作为一位喜爱足球的球迷,"懂球帝"一定会是款必不可少的app,即使是只有16G的空间,也从未将其卸载.然而我们今天聊的 ...

  3. 数据解读谁是直男们心中的女神

    ♚ 作者:徐麟,目前就职于上海唯品会产品技术中心,哥大统计数据狗,从事数据挖掘&分析工作,喜欢用R&Python玩一些不一样的数据. 前言 本文图片来自于"懂球帝" ...

  4. 数据解读广大“钢铁直男”眼中的女神评判标准

    去聊懂球帝上的"女神大会"专栏,作为一个大型"钢铁直男"聚集地,"懂球帝"上对各位女神的评分,对广大"钢铁直男"群体也具 ...

  5. 自学经验总结+实战:python爬虫的自我修养与每天微信给女朋友发一份直男日报

    直男日报: # 记录在一起多少天 # 爬取女朋友所在城市的天气 # 每天给女朋友一句土味情话 # 爬取Bing主页的壁纸,保存到本地并发送 自学爬虫一个月左右,先用R后用python,看了许多帖子也走 ...

  6. 直男救星,这款开源神器教你如何帮女神挑口红!

    公众号关注 "GitHubDaily" 设为 "星标",每天带你逛 GitHub! 转自量子位,作者鱼羊 双十一刚过去不久,你都剁手买了什么好物呢?每到这种大型 ...

  7. Python直男作死篇:生日蛋糕小游戏

    前言 作为一名标准的程序员有多少是纯正的钢铁直男呢,今天这一波辣条用自己之前给异地的前女友准备的一个生日蛋糕小游戏作为案例分析讲解一波,(没得啥审美可言,请耐心揣摩)希望大家引以为戒~ 1.效果流程( ...

  8. 直男不懂女人心?10953 条数据告诉你女王节送什么口红色号!

    "你是个好人,但我绝不会接受一个连热门口红品牌色号都分不清的好直男." 作者 | 周志鹏 责编 | 郭   芮 挑战高薪,进军人工智能领域: https://edu.csdn.ne ...

  9. 女朋友生气了吗?算法比直男更懂她

    By 超神经 场景描述:利用 AI 技术判断一个人的情绪通常有两种途径,一种是通过面部表情,另一种是通过语音.前者已经比较成熟,而语音识别情感方面的研究,正在快速发展.近期,一些科研团队提出了新的方法 ...

最新文章

  1. python正则匹配数字_python 正则匹配字母数字中的任意数字,字母
  2. C++检查数字是否为2的幂的实现算法(附完整源码)
  3. Java:选择正确的集合
  4. 【iCore3 双核心板】例程三十五:HTTP_IAP_ARM实验——更新升级STM32
  5. Kinect for Windows SDK开发入门(三):基础知识 下
  6. Jquery 同个类名中点击的显示其他隐藏的效果
  7. java监听器演示样例
  8. Linux之web服务
  9. poj 1325 Machine Schedule 匈牙利二分匹配 基础
  10. java方法 将123转换成 “一百二十三”
  11. linux 对整个文件 url解码,linux shell实现 URL 编码/解码方法
  12. 金启孮:普通话其实是满州人的蹩脚汉语
  13. encapsulation dot1q vlan-id命令
  14. 结构体复数相乘c语言,复数乘法中的结构体赋值实现代码
  15. 【离散数学】点割集(割点集)与边割集详解
  16. spssχ2检验_实用医学统计:配对四格表资料的χ2检验之SPSS操作篇
  17. Cache的映像方法
  18. 编写一个具有搜索功能的搜索框
  19. INTRINS.H的函数
  20. HitPaw Photo Enhancer v1.0.1 照片清晰放大

热门文章

  1. 如临现场的视觉感染力,NBA决赛直播还能这样看?
  2. 几种将将虚幻引擎内容流送到多个平台的推流方案比较
  3. 【C++】算法STL库
  4. mysql中计算百分比
  5. 第6例:菲波那切数列
  6. 思科模拟器出现Translating XXXX...domain server (255.255.255.255) 解决办法
  7. html链接外部样式表、链接网站图标
  8. Leetcode 2127. 参加会议的最多员工数
  9. 高德地图 鼠标点击后 地图上点标记跟着变化
  10. matlab频谱分析中振幅的物理意义,对速度信号进行傅里叶谱分析之后,其纵坐标对应的幅值的物理意义是什么?是速度,还是振幅...