用Python分析川普的推文

本文将简单介绍如何使用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发!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180729G0O3SK00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券