感谢关注天善智能,走好数据之路↑↑↑
欢迎关注天善智能,我们是专注于商业智能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来分析一下他们的微博吧!今天的【社交网络数据可视化】就到这里,欢迎继续关注!
&spm=1001.2101.3001.5002&articleId=79585600&d=1&t=3&u=eb7907a4748e485787247ce51729d2bf)
2474

被折叠的 条评论
为什么被折叠?



