【R图秀-2】社交网络数据可视化(一)

感谢关注天善智能,走好数据之路↑↑↑

欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定!

对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴趣的同学加微信:tstoutiao,邀请你进入数据爱好者交流群,数据爱好者们都在这儿。


作者简介

傅兴:个人公众号:Rapp

为了进一步提高自己数据获取的能力,我把目光放到了互联网上一个重要的数据来源:社交网络(Social Network),比如国外的facebook和twitter,以及国内的微博和微信。由于访问facebook和twitter比较困难,我最终选择新浪微博作为分析的对象。

我首先学习的是新浪微博的API,看看有没有更简单的方法获取数据。遗憾的是,如果想通过API获取目标用户的微博,必须首先获得对方的授权。我获取微博数据只是出于学习的目的,并不是要开发基于微博的应用,所以此路不通,果断放弃。我觉得最靠谱的还是用RSelenium写个程序来操作浏览器,自动帮我刷微博。

数据获取的技术问题解决了,下面就需要考虑抓取哪些人的微博。演艺明星是微博上大家比较关注的对象,就先从他们入手吧!我平时很少关注娱乐圈,认识的明星也不多,但是挺喜欢和家人一起看《奔跑吧兄弟》(跑男),所以今天就来分析一下跑男中的明星(邓超,李晨和Angelababy)以及他们的另一半(孙俪,范冰冰和黄晓明)的微博数据。

爬虫代码的主要部分是2个函数:登录函数(weibo_login)和抓取函数(fetch_post)

需要注意的是,目前的抓取函数还不支持人名搜索,所以在抓取某人的微博之前,首先要手动看一下他微博URL上的用户名是什么(用户名的具体位置在weibo.com和?中间),然后用该用户名作为参数调用抓取函数,比如下面的代码:

在展示微博数据之前,我们必须先想清楚自己想看什么?想回答什么样的问题,比如:

1. 我很想知道明星微博的高频词汇有哪些?夫妻之间会不会有“共同语言”?2. 我还想了解明星的朋友圈有哪些人,夫妻之间的朋友有多大的交集?

我们可以用词云(word cloud)来展示各个明星的微博中最常出现的词汇(这里只考虑名词,其他词性的词汇都已过滤掉):

我们可以看到,“电影”是他们微博中出现最频繁的词汇,说明他们利用微博在向粉丝们宣传自己的电影,其次就是和家人朋友相关的词汇。由于时间有限,我没有继续深挖下去。生成词云的代码如下:

接下来要回答的是第二个问题,如何从明星们的微博中挖掘出他们的社交网络?我首先想到的是微博中@某人的功能,@后面的微博账号和明星之间应该存在某种关联,如果@某人的次数很多,说明两者之间的关系密切(好友或家人)。接下来我们就来看看明星夫妻之间的“朋友圈”是怎样的。

1. 黄晓明和Angelababy:

2. 李晨和范冰冰:

3. 邓超和孙俪(邓超绝对是模范丈夫,@老婆的次数这么多!)

统计@次数的代码如下,为了能看清网络中的节点,我过滤掉了一些低频的@:

下面是网络可视化的代码:

如果你也是某位明星的粉丝,就用R来分析一下他们的微博吧!今天的【社交网络数据可视化】就到这里,欢迎继续关注!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值