Conectando o R com o Twitter — Parte 3 — Funcionalidades do pacote rtweet

Coletando dados dos possíveis candidatos a presidência do Brasil — 2018

Jardim botânico da Universidade de Copenhague

Olá, tudo bem contigo? Estamos na parte 3 da nossa série sobre a utilização do pacote rtweet para coletar dados do Twitter com o R. Se você quiser dar uma olhada nas publicações iniciais da série, os links estão abaixo:

Vamos diretamente ao código.

Fluxo de Tweets

Vamos coletar uma amostra aleatória (aproximadamente 1%) do fluxo ao vivo de todos os tweets.

## amostra aleatória para 30 segundos (padrao)
rt <- stream_tweets("")

Agora, vamos coletar uma amostra dos tweets de uma determinada posição ou cidade por 60 segundos.

## tweets da minha cidade
rt <- stream_tweets(lookup_coords("guarapuava"), timeout = 60)
## na verdade, tentem com uma cidade grande haha, moro no interior e as pessoas nao utilizam muito o twitter la

Vamos coletar os tweets que citem o @jairbolsonaro, ou bolsonaro por uma semana e armazenar em um arquivo chamado tweetsbolsonaro.json

## coleta tweets por uma semana (60 seg * 60 min * 24 horas * 7 dias)
stream_tweets(
"jairbolsonaro, bolsonaro",
timeout = 60 * 60 * 24 * 7,
file_name = "tweetsbolsonaro.json",
parse = FALSE
)
## le o arquivo como dataframe 
dfbolsonaro <- parse_stream("tweetsbolsonaro.json")

Pega amigos

Coleta uma lista de todas as contas que um usuário segue. (Dica: se estiver num relacionamento com um cientista de dados, nunca tente esconder nada)

## coleta os IDs de contas que o lula segue (nao eh o lula quem cuida do tweeter dele, mas sao os amigos dele... hmmm, enfim), vamos coletar os IDs dos amigos do lula.
lula_fds <- get_friends("LulapeloBrasil")
## esse script pode demorar um pouquinho, o lula tem muitos amigos. Vamos dar uma olhada neles
lula_fds_data <- lookup_users(lula_fds$user_id)

Pega seguidores

Coleta uma lista de todas as contas que seguem um usuário.

## coleta os IDs das contas seguindo a deputada manuela
manuela_flw <- get_followers("manudeputada", n = 75000)
## da uma olhada nas contas
manuela_flw_data <- lookup_users(manuela_flw$user_id)

Ou ainda, se você quiser coletar TODOS os seguidores:

## quantos seguidores a deputada manuela tem?
manuela <- lookup_users("manudeputada")
## coleta todos os seguidores (isso pode levar alguns dias)
manuela_flw <- get_followers(
"manudeputada", n = manuela$followers_count, retryonratelimit = TRUE
)

Coleta linhas do tempo

Coleta os 3200 mais recentes tweets de contas que você quiser. Por exemplo, vamos coletar os tweets do @jairbolsonaro, @LulapeloBrasil, @jdoriarj, @Haddad_Fernando, @geraldoalckmin, @manudeputada, @alvarodias_, @silva_marina, no mês de Novembro.

## coleta as linhas do tempo das contas citadas acima.
tmls <- get_timelines(c("jairbolsonaro", "LulapeloBrasil", "jdoriajr", "Haddad_Fernando", "geraldoalckmin", "manudeputada", "alvarodias_","silva_marina"
), n = 3200)
# Vou usar uma paleta de cores que seja amigavel para daltonicos
cbPalette <- c("#999999", "#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00", "#CC79A7")
## plota o grafico referente as postagens das contas
tmls %>%
dplyr::filter(created_at > "2017-11-01") %>%
dplyr::group_by(screen_name) %>%
ts_plot("days", trim = 1L) +
ggplot2::geom_point() +
ggplot2::theme_minimal() +
ggplot2::theme(
legend.title = ggplot2::element_blank(),
legend.position = "bottom",
plot.title = ggplot2::element_text(face = "bold")
) +
ggplot2::scale_color_manual(values = cbPalette) +
ggplot2::labs(
x = NULL, y = NULL,
title = "Frequência de Tweets postados por possíveis candidatos - 2018",
subtitle = "Contagem de Tweets agregados por dia de Novembro 2017",
caption = "\nFonte: Dados coletados do REST API do Twitter via rtweet"
)

Pega tendências

Descubra qual é a tendência em uma determinada localização

sf <- get_trends("brazil")

Bom, por hoje é só. Se você tem alguma dúvida, comentário ou sugestão, deixe um comentário. Se você gostou do conteúdo, clique nas “palminhas” quantas vezes quiser. Isso fará com que o conteúdo se torne relevante na plataforma.

Um abraço, até a próxima publicação.

Parte final:

Kearney MW (2017). rtweet: Collecting Twitter Data. R package version 0.6.0, https://cran.r-project.org/package=rtweet.
Like what you read? Give Meu Mesmo a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.