本文将简单介绍如何使用Python分析川普在twitter上发布的推文。
准备工作
在分析之前,需要安装好Python。如果您不太了解的话,百度一下,按步骤来就行啦!
准备好Python后,还需要安装以下几个库:
Tweepy
Matplotlib
NumPy
Pandas
把上面的库都安装好了后,就可以开始啦!
获取twitter数据
为了获取到推文,需要登录你的twitter账户并创建一个app,网址是
https://apps.twitter.com/。
当你创建好了之后,可以获取到4个参数:
Consumer Key (API Key)
Consumer Secret (API Secret)
Access Token
Access Token Secret
我们将它们保存到一个名为config.py的文件中,如下所示:
创建这个py文件的原因是,我们可以把变量导入到notebook中使用,但又不会在代码中出现这些变量的真实值(毕竟这个比较私密嘛)。
然后,我们导入需要用到的库:
之后,我们再添加一个函数,用于通过密钥认证:
注意,在这里使用了代理,至于原因嘛,你懂的。
推文提取
现在,我们可以使用之前定义的 函数创建一个名为extractor的对象,并用Tweepy的 函数提取用户的推文。
我们自然提取的是川普(@realDonaldTrump)的推文,那就开始吧~
我们按照下面的方式提取推文
代码运行后,可以得到类似下图所示的结果:
创建DataFrame
DataFrame可以让我们非常方便对数据进行分析。为此,需要创建一个DataFrame用于之后的分析工作,我们不妨先把每篇推文的文本内容构建成DataFrame的一列:
结果如下:
我们提取到的推文都保存在tweets这个变量中,我们不妨看一看每个tweet包含一些什么属性和方法:原来每个tweet中包含了很多其他信息,比如创建时间、来源等等。如果我们想获取这些信息,自然可以通过tweet的属性得到,如下所示:
结果如下:
如之前所看到的,每条“推文”包含了很多其他信息,而不只是正文内容。我们可以按照下面的方式加到我们的DataFrame中,
查看一下效果,如下图所示:
数据分析
首先,可以计算一下川普推文的平均长度
结果是:
接下来,再做进一步的分析,比如喜欢数最多的推文
结果如下:
转推数最多的推文:
结果如下:
我们的DataFrame中有一列是时间,因此我们可以分析推文长度,喜欢数和转推数和时间的关系:
绘制成图:
结果如下:
我们将喜欢数和转推数的情况一起画出来
结果如下:然后,我们可以统计一下川普每日发推的数量:
川普的推文来源并不是相同的,不妨研究一下
结果如下:
正如上图所示,有3个来源。
那么具体情况是怎样呢?不妨绘制成图。
结果如下:
由此,我们可以得到一个结论:川普真的很爱发推,而且是用iPhone发!
领取专属 10元无门槛券
私享最新 技术干货