使用R下载,管理和可视化Twitter一定牛遗漏

带有推文的简单地图

嘿,

在本文中,我将向您展示如何下载,管理和可视化Twitter一定牛遗漏。我将为您提供连接到twitter API,下载并在空间中绘制用户定义的关键字所需的所有代码。

让’的开始!那么我们如何获得Twitter一定牛遗漏呢? Twitter允许用户通过他们的流媒体一定牛遗漏子集 Publich API。 要被允许下载它们,您必须是Twitter上的注册用户,然后只需执行以下步骤:

1.创建应用

创建Twitter应用: 转到网站,点击“Create New App”按钮,填写您的名称,使用说明和您的应用程序的网站。请仔细阅读免责声明。

创建推特应用

2.下载R的twitteR软件包

第二步是打开R并下载twitteR软件包。这使您可以通过R使用Twitter流API,从而使生活变得更加轻松。只需安装并加载以下软件包:

install.packages("RCurl")
install.packages("twitteR")
library(RCurl)
library(twitteR)

3.建立连接

回到 apps.twitter.com 页面上,单击您的应用,然后导航到 密钥和访问令牌。 下“Your Access Token”您应该能够看到以下内容:
访问令牌: 数字和字母的合并
访问令牌机密: 数字和字母的合并

这些令牌对于每个用户都是唯一的,您不应在公共场合公开它们。
现在回到R并使用以下代码建立与Twitter Stream API的连接:

connect2twitter = function() {
# Set SSL certs globally
options(RCurlOptions = list(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")))

reqURL = "//api.twitter.com/oauth/request_token"
accessURL = "//api.twitter.com/oauth/access_token"
authURL = "//api.twitter.com/oauth/authorize"
consumerKey = 'PASTE YOUR KEY HERE'
consumerSecret = 'PASTE YOUR SECRET HERE'

twitCred = OAuthFactory$new(consumerKey=consumerKey,consumerSecret=consumerSecret,requestURL=reqURL,accessURL=accessURL,authURL=authURL)
twitCred$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl"))
registerTwitterOAuth(twitCred)
}
connect2twitter() #execute function

只需插入您的使用者密钥和使用者密钥,然后运行该功能。请注意,以下代码在 堆栈溢出.

运行代码时,应打开一个新的浏览器窗口:单击授权应用并复制 密码 网站提供的内容并将其粘贴到R控制台中,然后按Enter。

连接到推特

如果控制台返回 真正, 你准备好了。

 

4.下载资料

关于下载Twitter一定牛遗漏的功能和方法,有两种。在本教程中,我们将使用 searchTwitter() 功能,可让您搜索带有关键字,坐标和日期的推文。代码如下:

鸣叫= searchTwitter("选举", n=1000,
since="2015-01-01",
geocode="37.78,-122.41,1000km",
retryOnRateLimit=200)

#create df out of query
tweets.df = do.call("rbind",lapply(tweets,as.data.frame))

The code above will return a subset of 鸣叫containing the 字“elections” 被创造 从2015-01-01 到现在 在(拉丁美洲)37.78,-122.41,(这是旧金山) 半径1000公里。  n=1000 对您要获得多少条推文的限制。但是通常每个请求您只会收到20-80条推文,因此您不会’不必担心获取太大的一定牛遗漏集。

下面的另一行代码从搜索中创建了一个一定牛遗漏框,这使得一定牛遗漏处理变得更加容易。

如果您运行代码,则可能会收到警告消息,但不要’不要生气。它只是声明twitter API找不到请求的tweets数量,但是该函数仍然执行。

In doRppAPICall("search/tweets", n, params = params, retryOnRateLimit = retryOnRateLimit,  :
  1000 鸣叫were requested but the API can only return 81

5.在地图上的简单可视化

为了对地图上的推文进行快速而简单的可视化,我将使用基本的绘图功能和来自地图包的一定牛遗漏:

install.packages("地图")
library(maps)
#plots worldmap
map('world')
#plots tweets
points(tweets.df$longitude,tweets.df$latitude, pch=20, cex=1, col="red")

结果将如下所示:

带有推文的简单地图每个红点代表一条推文,由于我们将区域限制为旧金山,并且半径为1000公里,’所有点都在加利福尼亚州和周围的州并不奇怪。

结论

我希望这段简短的介绍对您中的某些人有所帮助,并向您展示了如何使用twitteR包通过R与Twitter API建立连接。

请注意,本教程仅为您提供有关如何下载地图上单个位置的一定牛遗漏的代码。因此,下周计划另外一个教程,我将向您展示如何立即自动下载整个世界的一定牛遗漏,以及如何使用ggplot2和网络映射服务(例如CartoDB)制作具有良好布局的地图。

尽快拜访我们!

干杯马丁

关于作者

马丁出生于捷克共和国,就读于维也纳自然资源与生命科学大学。他目前在GeoVille(一家位于奥地利的地球观测公司)工作,专门从事土地监测。他的主要兴趣是:开源应用程序,例如R,(地理空间)统计和一定牛遗漏管理,Web映射和可视化。他喜欢旅行,寻宝,摄影和运动。

4条留言

您可以在这篇文章中发表评论。


  • 嗨,马丁。

    我只是在StudioR中遵循了您的代码。和我’您遇到了一些问题,无法获得与您相同的结果。
    我发现有一个错误。您能帮我解决问题吗?
    错误消息如下:

    registerTwitterOAuth(twitCred)中的错误:
    不再使用ROAuth来支持httr,请参阅?setup_twitter_oauth

    版本:R 3.2.1 GUI 1.66 Mavericks构建

    李艾琳 5年前 回复


    • 艾琳,对我来说也一样。
      您是否找到了解决方案?

      最好

      朱拉 5年前 回复


  • 嗨,马丁,

    I am trying to find the location from where 鸣叫are coming,so i followed your code

    鸣叫<- searchTwitter('influenza',n=1000,since='2017-01-01',geocode="12.97.59,1000km",lang='en')

    我将上面的命令转换为一定牛遗漏帧,并尝试执行它,我无法'找不到地图上的任何变化,没有红点。此外,当我尝试打印一定牛遗漏框时,我发现NA代替了纬度和经度列。请您帮我解决这个问题。

    阿姆鲁莎 在4年前 回复


  • how can i extract 鸣叫with replies plz?

    阿米娜·巴里 2年前 回复


发表回复

*