【问题标题】:R - Twitter - fromJSON - get list of tweetsR - Twitter - fromJSON - 获取推文列表
【发布时间】:2015-07-12 17:42:09
【问题描述】:

我想使用 R 中的 RJSONIO 包从 Twitter 检索给定主题标签的推文列表。我认为我非常接近解决方案,但我似乎错过了一步。

我的代码如下(在本例中,我使用#NBA 作为标签):

library(httr)
library(RJSONIO)

# 1. Find OAuth settings for twitter:
#    https://dev.twitter.com/docs/auth/oauth
oauth_endpoints("twitter")

#    Replace key and secret below
myapp <- oauth_app("twitter",
                   key = "XXXXXXXXXXXXXXX",
                   secret = "YYYYYYYYYYYYYYYYY"
)

# 3. Get OAuth credentials
twitter_token <- oauth1.0_token(oauth_endpoints("twitter"), myapp)

# 4. Use API
req=GET("https://api.twitter.com/1.1/search/tweets.json?q=%23NBA&src=typd",
        config(token = twitter_token))
req <- content(req, as = "text")
response=fromJSON(req)

如何从对象“响应”中获取推文列表?

最终,我想得到类似的东西:

searchTwitter("#NBA", n=5000, lang="en")

提前非常感谢!

【问题讨论】:

    标签: r twitter


    【解决方案1】:

    响应对象应该是一个长度为 2 的列表:状态和元数据。因此,例如,要获取第一条推文的文本,请尝试:

    response$statuses[[1]]$text
    

    但是,有几个 R 包旨在使这种事情变得更容易:尝试使用 streamR 用于流式 API,twitteR 用于 REST API。后者具有与您描述的完全一样的 searchTwitter 功能。

    【讨论】:

    • 非常感谢您的提示!以下工作正常:response$statuses$text[[1]]。由于我需要使用 max_id 遍历时间线结果以创建更大的推文列表,我想我需要使用函数fromJSON。或者使用 twitterR 包也可以做到这一点?
    猜你喜欢
    • 2012-12-05
    • 1970-01-01
    • 2022-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-27
    • 2016-06-21
    • 1970-01-01
    相关资源
    最近更新 更多