我试图找到一种方法来使用rtweet包从 Twitter REST API 执行获取友谊/显示的请求,以分析两个用户之间的关系。但是,我无法让它工作(我确实找到了lookup_friendships()
,但它没有做我想要的)。是否可以使用rtweet做到这一点,如果可以,怎么做?
问问题
417 次
2 回答
1
此功能已添加到rtweet中,因此至少应该可以通过某种合理的方式访问“友谊/表演” API——lookup_friendships()
而且,奖励,它现在刚刚0.6.0
在 CRAN 上的版本中被接受!
必需的输入是source
和target
(可以是屏幕名称或用户 ID)。如果仅向其中一个source
或提供一个用户target
,则可以在另一个参数中传递任意数量的用户(除了 Twitter API 速率限制)。
fds <- lookup_friendships(
source = "realDonaldTrump",
target = c("DRUDGE_REPORT", "seanhannity", "HuffPost", "maddow", "cnn")
)
> fds
# A tibble: 60 x 4
relationship user variable value
<chr> <chr> <chr> <chr>
1 source DRUDGE_REPORT id 25073877
2 source DRUDGE_REPORT id_str 25073877
3 source DRUDGE_REPORT screen_name realDonaldTrump
4 source DRUDGE_REPORT following TRUE
5 source DRUDGE_REPORT followed_by FALSE
6 source DRUDGE_REPORT live_following FALSE
7 source DRUDGE_REPORT can_dm FALSE
8 target realDonaldTrump id 14669951
9 target realDonaldTrump id_str 14669951
10 target realDonaldTrump screen_name DRUDGE_REPORT
# ... with 50 more rows
>
source
也可以在和target
参数中指定多个用户。但是,如果两个参数的长度都大于 1,则向量的长度必须相等。
## vector of multiple users
usrs <- c(
"realDonaldTrump", "DRUDGE_REPORT", "seanhannity", "HuffPost", "maddow", "cnn"
)
fds <- lookup_friendships(
source = usrs,
target = usrs
)
> fds
# A tibble: 72 x 4
relationship user variable value
<chr> <chr> <chr> <chr>
1 source realDonaldTrump id 25073877
2 source realDonaldTrump id_str 25073877
3 source realDonaldTrump screen_name realDonaldTrump
4 source realDonaldTrump following FALSE
5 source realDonaldTrump followed_by FALSE
6 source realDonaldTrump live_following FALSE
7 source realDonaldTrump can_dm TRUE
8 target realDonaldTrump id 25073877
9 target realDonaldTrump id_str 25073877
10 target realDonaldTrump screen_name realDonaldTrump
# ... with 62 more rows
还没有很多时间来测试这个。如果遇到问题,请尝试设置parse = FALSE
. 您将不得不自己处理返回的数据,但这可能有助于避免内部解析中的错误。
fds <- lookup_friendships(
source = usrs,
target = usrs,
parse = FALSE
)
> str(fds, 3)
List of 6
$ realDonaldTrump:List of 1
..$ relationship:List of 2
.. ..$ source:List of 16
.. ..$ target:List of 7
$ DRUDGE_REPORT :List of 1
..$ relationship:List of 2
.. ..$ source:List of 16
.. ..$ target:List of 7
$ seanhannity :List of 1
..$ relationship:List of 2
.. ..$ source:List of 16
.. ..$ target:List of 7
$ HuffPost :List of 1
..$ relationship:List of 2
.. ..$ source:List of 16
.. ..$ target:List of 7
$ maddow :List of 1
..$ relationship:List of 2
.. ..$ source:List of 16
.. ..$ target:List of 7
$ cnn :List of 1
..$ relationship:List of 2
.. ..$ source:List of 16
.. ..$ target:List of 7
于 2017-11-16T19:04:26.857 回答
0
您也许可以使用get_friends()
orget_followers()
函数。
于 2017-11-15T16:47:34.523 回答