ПОЛУЧИТЬ дружбу / шоу с rtweet

Я попытался найти способ использовать пакет rtweet для выполнения запроса GET friends /show из Twitter REST API, чтобы проанализировать отношения между двумя пользователями. Тем не менее, я не мог заставить его работать (я нашел lookup_friendships(), но это не делает то, что я хочу). Можно ли это сделать с помощью rtweet, и если да, то как?

2 ответа

Решение

Эта функция была добавлена ​​в rtweet, поэтому должен быть как минимум разумный доступ к API "Friendship / Show" через lookup_friendships()- и бонус, он только что был принят в версии 0.6.0 сейчас на CRAN сейчас!

Требуемые входные данные source а также target (могут быть экранные имена или идентификаторы пользователей). Если только один пользователь предоставляется либо 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

Вы могли бы использовать get_friends() или же get_followers() функции.

Другие вопросы по тегам