《延禧攻略》演员大起底——利用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分析绘制词云和玫瑰图


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

查看所有标签

猜你喜欢:

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

算法设计与分析基础

算法设计与分析基础

Anany Levitin / 潘彦 / 清华大学出版社 / 2015-2-1 / 69.00元

作者基于丰富的教学经验,开发了一套全新的算法分类方法。该分类法站在通用问题求解策略的高度,对现有大多数算法准确分类,从而引领读者沿着一条清晰、一致、连贯的思路来探索算法设计与分析这一迷人领域。《算法设计与分析基础(第3版)》作为第3版,相对前版调整了多个章节的内容和顺序,同时增加了一些算法,并扩展了算法的应用,使得具体算法和通用算法设计技术的对应更加清晰有序;各章累计增加了70道习题,其中包括一些......一起来看看 《算法设计与分析基础》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

URL 编码/解码
URL 编码/解码

URL 编码/解码