2017-10-20 32 views
0

我开始学习R,但现在我被卡住了。使用R:从特定位置获取用户关注者

我想分析来自特定Twitter帐户的追随者。问题是这个档案有很多追随者,所以让所有追随者花费很多时间。我只对瑞士的追随者感兴趣。

所以我想知道是否有可能加载来自瑞士的追随者的数据?

这是我已经有:

library("twitteR") 
    consumer_key <- "my_key" 
    consumer_secret <- "my_secret" 
    access_token <- "my_token" 
    access_secret <- "my_secret" 
    options(httr_oauth_cache=T) #This will enable the use of a local file to cache OAuth access credentials between R sessions. 
    setup_twitter_oauth(consumer_key, 
         consumer_secret, 
         access_token, 
         access_secret) 
    [1] "Using direct authentication" 

    trump <- getUser("RealDonaldTrump") 
    follower <- trump$getFollowers(retryOnRateLimit=180) 

所以,在最后一行代码显然会占用几个小时,所以我需要一个更好的解决方案。谢谢:)

回答

0

你能详细说明你想要关于每个追随者的信息吗?你想统计有多少追随者将“瑞士”列为他们的祖国?或者你想要更多关于每个用户的信息?

我的理解是API不允许在国家等字段上过滤追随者的输出。因此,在我看来,人们需要收集所有用户的信息,然后在该国之后过滤。

我在2016年6月收集了唐纳德特朗普所有追随者的用户ID号(当时他认为他的追随者人数少于1000万)。这花了一些时间,但是,通过使用smappR软件包smappR :: getFriends函数,很容易做到。我相信现在他需要更长的时间,他有更多的追随者,但smappR :: getFriends的程序应该可以工作。

然而,它将需要一些额外的时间来下载每个用户ID的用户信息。我认为你需要对twitter API进行独特的查询才能获取用户信息,因为smappR :: getFriends只会给出用户ID(也可能是用户名)。然后,您需要使用smappR :: getUsers等函数查询API以获取其用户信息,包括居住国。我承认我对Twitter API的理解不完整,但我希望这种回应有帮助。