《延禧攻略》演员大起底——利用Python+bs+pyecharts分析绘制词云和玫瑰图

栏目: Python · 发布时间: 6年前

内容简介:第一时间关注程序猿(媛)身边的故事

点击上方“ 程序人生 ”,选择“置顶公众号”

第一时间关注程序猿(媛)身边的故事

《延禧攻略》演员大起底——利用Python+bs+pyecharts分析绘制词云和玫瑰图

作者

YOUNG

已获原作者授权,如需转载,请联系原作者。

最近大火的电视剧《延禧攻略》已宣告大结局,除了剧情走心,演员的那些头花啊头饰啊,戏服也都精致无比。本文利用 Python 抓取互联网上演员的部分数据,分析演员的姓名、星座、身高、体重和籍贯等信息,利用bs+pyecharts绘制词云和玫瑰图。

为什么这么闲?

《延禧攻略》可以说是于正的洗白之作,没有特别的戏说,也没有异想天开的改编,在基本尊重历史事实的基础上,通过 魏璎珞(令妃) 的视角窥探整个后宫的众生相。可以称得上“管中窥豹,可见一斑”。

某位哲人说过: 一个电视剧这么火,背后一定有原因。 背后绝对有JQ。又有哲人说过: 内因很重要 为此决定现学现卖,抛砖引玉地分析一下演员背后的因素。

1、分析网页

Step1:分析网页内容

感谢电视指南网http://www.tvzn.com/14784/yanyuanbiao.html)的数据支撑。

通过浏览网页,发现我们所需的演员信息:

《延禧攻略》演员大起底——利用Python+bs+pyecharts分析绘制词云和玫瑰图

S tep2:分析网页数据格式

通过网页格式,可知所需的信息

<ul class="gclearfix">
    <li><a class="mh-pic" href="/14784/role/203516.html" target="_blank"><img height="124" class="mh-img" alt="秦岚" src="http://img.tvzn.com/role/simages/203516.jpg"><span class="mh-role">富察·容音</span><span class="mh-mask"></span></a><p class="mh-title"><a class="mh-actor" href="/person/553.html">秦岚</a>饰演</p></li>

《延禧攻略》演员大起底——利用Python+bs+pyecharts分析绘制词云和玫瑰图

为此,可利用beautifulsoup查找关键信息:

contents1 = soup.find('ul', class_="gclearfix").findAll("li")

S tep3:定点抓取数据

通过循环抓取主演姓名信息

actorName = content.find("p", class_="mh-title").find("a", class_="mh-actor")

通过循环抓取非主演姓名信息

actorName = content.find("p", class_="mh-l").find("a", class_="mh-actor")

2、汇总数据

将演员的姓氏和名字分开统计:

surnamelist = [];
givennamelist = [];
surname_dict = {}
for actorname in nameList:     
    surnamelist.append(actorname[0]);
    for givenname in actorname[2:]:
        givennamelist.append(givenname)    
    if actorname[0] not in surname_dict:
        surname_dict[actorname[0]] = 1
    else:
        surname_dict[actorname[0]] += 1

3、绘制词云

利用wordcloud绘制词云:

word_count = collections.Counter(surnamelist );
# 设置词云属性
wc = WordCloud(font_path=font_path,  # 设置字体
               background_color="white",  # 背景颜色
               max_words=2000,  # 词云显示的最大词数
               mask=back_coloring,  # 设置背景图片
               max_font_size=100,  # 字体最大值
               random_state=42,
               width=1000, height=860, margin=1,)

wc.generate_from_frequencies(word_count);

姓氏(主角背景版):

《延禧攻略》演员大起底——利用Python+bs+pyecharts分析绘制词云和玫瑰图 《延禧攻略》演员大起底——利用Python+bs+pyecharts分析绘制词云和玫瑰图

姓氏(苹果背景版):

《延禧攻略》演员大起底——利用Python+bs+pyecharts分析绘制词云和玫瑰图 《延禧攻略》演员大起底——利用Python+bs+pyecharts分析绘制词云和玫瑰图

名字:

《延禧攻略》演员大起底——利用Python+bs+pyecharts分析绘制词云和玫瑰图 《延禧攻略》演员大起底——利用Python+bs+pyecharts分析绘制词云和玫瑰图

4、进一步抓取信息

费了这么大的劲,只分析一个姓名感觉不能得到满足,通过仔细分析网页结构,有一个惊喜的发现:

每个演员都有个人的链接!!!

链接信息就在href中:

<a class="mh-actor" href="/person/553.html">秦岚</a>

《延禧攻略》演员大起底——利用Python+bs+pyecharts分析绘制词云和玫瑰图

发现天然的富矿后,老夫欣喜若狂,为此加班到深夜3点,进一步分析了演员的身高、体重、籍贯和星座。

话不多说,直接看结构:

<div class="tn-box-content tn-widget-content tn-corner-bottom">
        籍贯:辽宁省沈阳市沈河区<br>
        身高:165cm/5.4英尺<br>
        体重:46kg/101磅<br>
        职业:演员,歌手<br>
       生日:1981-07-17<br>
       星座:巨蟹座<br>
       性别:女<br>
       血型:b型<br>
       三围:<br>                                </div>

5、分析共同出演的电视剧

同样地,上词云。

《延禧攻略》演员大起底——利用Python+bs+pyecharts分析绘制词云和玫瑰图 《延禧攻略》演员大起底——利用Python+bs+pyecharts分析绘制词云和玫瑰图

《延禧攻略》当仁不让,高居首位。同时有额外发现,就是很多大火的电视剧《凤囚凰》《朝歌》《我们正年轻》《长歌行》等。

6、出玫瑰图,看个人信息

直接上图,不说话:

《延禧攻略》演员大起底——利用Python+bs+pyecharts分析绘制词云和玫瑰图

《延禧攻略》演员大起底——利用Python+bs+pyecharts分析绘制词云和玫瑰图

《延禧攻略》演员大起底——利用Python+bs+pyecharts分析绘制词云和玫瑰图

《延禧攻略》演员大起底——利用Python+bs+pyecharts分析绘制词云和玫瑰图

《延禧攻略》演员大起底——利用Python+bs+pyecharts分析绘制词云和玫瑰图

从来没有无缘无故的爱,也没有无缘无故的恨。一部热播剧的背后是几百个演员的艰辛付出和刻苦修炼。愿生活多姿,但你得足够努力!

- The End -

「若你有原创文章想与大家分享,欢迎投稿。」

加编辑微信ID,备注#投稿#:

程序 丨 druidlost  

小七 丨 duoshangshuang

Gitchat重磅推出的免费电子书。作者刘鹏老师现任科大讯飞副总裁、消费者事业群副总裁,兼任大数据研究院院长。4万字内容,说学逗唱,揭秘互联网与职场的湿暗后厨。精彩纷呈,免费领取~

《延禧攻略》演员大起底——利用Python+bs+pyecharts分析绘制词云和玫瑰图

上期精彩内容

《延禧攻略》演员大起底——利用Python+bs+pyecharts分析绘制词云和玫瑰图

《延禧攻略》演员大起底——利用Python+bs+pyecharts分析绘制词云和玫瑰图


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Redis设计与实现

Redis设计与实现

黄健宏 / 机械工业出版社 / 2014-6 / 79.00

【官方网站】 本书的官方网站 www.RedisBook.com 提供了书本试读、相关源码下载和勘误回报等服务,欢迎读者浏览和使用。 【编辑推荐】 系统而全面地描述了 Redis 内部运行机制 图示丰富,描述清晰,并给出大量参考信息,是NoSQL数据库开发人员案头必备 包括大部分Redis单机特征,以及所有多机特性 【读者评价】 这本书描述的知识点很丰富,......一起来看看 《Redis设计与实现》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

html转js在线工具
html转js在线工具

html转js在线工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具