O Twitter pode não ser um espaço onde todos os segmentos da população então presentes, mas com certeza é um excelente termômetro do que está sendo discutido na sociedade. Como dito pela Dani Rodrigues (@dani_rodrigues) em suas palestras, o Twitter é o eletrocardiograma da sociedade. Das últimas tretas do congresso ao BBB, o Twitter consegue munir o usuário de informações dos mais diversos tipos, criando várias comunidades com suas próprias regras e dinâmicas de interação. Conhecer essas dinâmicas facilita o monitoramento e entendimento de como os usuários se comportam e proporciona uma maior assertividade nas análises.
Pensando nisso, o pacote {rtweet} foi desenvolvido para acessar estes dados de forma fácil e amigável aos analistas, desenvolvedores e pesquisadores.
Abaixo será mostrado como acessar os dados de Twitter, requisitar os dados de Trending Topics e visualizar estas informações. o pacote possui um site bem amigável, disponibilizando a documentação e algumas análises. (Link https://rtweet.info/)
Para baixar o pacote, basta baixar do repositório:
devtools::install_github("ropensci/rtweet")
# Carregando os pacotes
library(rtweet)
#install.packages("tidyverse") # pacote que facilita a manipulação de dataframes
library(tidyverse)
O criador do rtweet construiu suas funções onde para acessar os dados de Treding Topics não é preciso ter um app, que é necessário quando se busca por tweets ou outras informações mais segmentadas dentro da plataforma, sendo assim, basta usar a função abaixo que você será direcionado para a tela de login do Twitter. Nesta tela basta fazer o login e após isso a função irá rodar e retornará a lista de locais em que é possível ter dados segmentados.
trends % head(10)
# A tibble: 10 x 8
# name url parentid country woeid countryCode code
#
# 1 Worl… http… 0 "" 1 NA 19
# 2 Winn… http… 23424775 "Canad… 2972 CA 7
# 3 Otta… http… 23424775 "Canad… 3369 CA 7
# 4 Queb… http… 23424775 "Canad… 3444 CA 7
# 5 Mont… http… 23424775 "Canad… 3534 CA 7
# 6 Toro… http… 23424775 "Canad… 4118 CA 7
# 7 Edmo… http… 23424775 "Canad… 8676 CA 7
# 8 Calg… http… 23424775 "Canad… 8775 CA 7
# 9 Vanc… http… 23424775 "Canad… 9807 CA 7
# 10 Birm… http… 23424975 "Unite… 12723 GB 7
# # … with 1 more variable: place_type
O dataframe trends contém 467 observações representando as localidades, sejam elas, países, estados ou cidades, destes, 63 são países. O Twitter ainda não possui Trending Topics de todos os países do mundo, mas estão sempre buscando aumentar esse número (então pode ser que em pouco tempo essa informação fique desatualizada 😀 ).
Como exemplo vamos buscar os dados do TT mundiais:
O primeiro passo é descobrir qual o WOEID da localização ( o WOEID é a sigla para “Where On Earth IDentifier”, literalmente “identificador de lugares na Terra”).
id_mundial %
filter(name == "Worldwide") %>%
select(woeid) %>%
as.character()
Já era possível saber o woeid dando uma rápida olhada na tabela Trends, mas da forma acima fica mais ‘formal’ e com menos chance de erro caso tenha alguma mudança na identificação.
Sendo assim, basta rodar a função abaixo e teremos a lista dos 50 principais tópicos neste momento. Estes dados nos mostram o acumulado de tweets nas últimas 24h e com 5 minutos de atraso.
mundial % head(20)
# # A tibble: 20 x 9
# trend url promoted_content query tweet_volume place woeid as_of created_at
#
# 1 #Erdo?a… http://twitter.co… NA %23Erdo%C4%9… 40638 Worl… 1 2020-03-05 19:37:20 2020-03-05 19:35:05
# 2 #ThankY… http://twitter.co… NA %23ThankYouE… 49988 Worl… 1 2020-03-05 19:37:20 2020-03-05 19:35:05
# 3 #Warren… http://twitter.co… NA %23WarrenToB… 31416 Worl… 1 2020-03-05 19:37:20 2020-03-05 19:35:05
# 4 #PitMad http://twitter.co… NA %23PitMad 124507 Worl… 1 2020-03-05 19:37:20 2020-03-05 19:35:05
# 5 The Las… http://twitter.co… NA %22The+Last+… 31033 Worl… 1 2020-03-05 19:37:20 2020-03-05 19:35:05
# 6 #somost… http://twitter.co… NA %23somostodo… 110466 Worl… 1 2020-03-05 19:37:20 2020-03-05 19:35:05
# 7 The Wire http://twitter.co… NA %22The+Wire%… 10546 Worl… 1 2020-03-05 19:37:20 2020-03-05 19:35:05
# 8 PRIOR A… http://twitter.co… NA %22PRIOR+ATE… 20979 Worl… 1 2020-03-05 19:37:20 2020-03-05 19:35:05
# 9 Gerrit … http://twitter.co… NA %22Gerrit+Co… NA Worl… 1 2020-03-05 19:37:20 2020-03-05 19:35:05
# 10 Ghost o… http://twitter.co… NA %22Ghost+of+… 25293 Worl… 1 2020-03-05 19:37:20 2020-03-05 19:35:05
# 11 Aaron S… http://twitter.co… NA %22Aaron+Sch… NA Worl… 1 2020-03-05 19:37:20 2020-03-05 19:35:05
# 12 Al Mich… http://twitter.co… NA %22Al+Michae… NA Worl… 1 2020-03-05 19:37:20 2020-03-05 19:35:05
# 13 TLOU http://twitter.co… NA TLOU NA Worl… 1 2020-03-05 19:37:20 2020-03-05 19:35:05
# 14 KHKTV A… http://twitter.co… NA %22KHKTV+Asl… 12754 Worl… 1 2020-03-05 19:37:20 2020-03-05 19:35:05
# 15 #Corona… http://twitter.co… NA %23CoronaVir… 79077 Worl… 1 2020-03-05 19:37:20 2020-03-05 19:35:05
# 16 #YesBank http://twitter.co… NA %23YesBank 20968 Worl… 1 2020-03-05 19:37:20 2020-03-05 19:35:05
# 17 #LaCasa… http://twitter.co… NA %23LaCasaDeP… NA Worl… 1 2020-03-05 19:37:20 2020-03-05 19:35:05
# 18 #BilenK… http://twitter.co… NA %23BilenKaza… NA Worl… 1 2020-03-05 19:37:20 2020-03-05 19:35:05
# 19 #LCDP4 http://twitter.co… NA %23LCDP4 59409 Worl… 1 2020-03-05 19:37:20 2020-03-05 19:35:05
# 20 #??????… http://twitter.co… NA %23%D8%A7%D9… 43993 Worl… 1 2020-03-05 19:37:20 2020-03-05 19:35:05
Também é possível visualizar os códigos woeid apenas do Brasil.
trends %>%
filter(country == "Brazil")
# # A tibble: 16 x 8
# name url parentid country woeid countryCode code place_type
#
# 1 Brasília http://where.yahooapis.com/v1/place/455819 23424768 Brazil 455819 BR 7 Town
# 2 Belém http://where.yahooapis.com/v1/place/455820 23424768 Brazil 455820 BR 7 Town
# 3 Belo Horizonte http://where.yahooapis.com/v1/place/455821 23424768 Brazil 455821 BR 7 Town
# 4 Curitiba http://where.yahooapis.com/v1/place/455822 23424768 Brazil 455822 BR 7 Town
# 5 Porto Alegre http://where.yahooapis.com/v1/place/455823 23424768 Brazil 455823 BR 7 Town
# 6 Recife http://where.yahooapis.com/v1/place/455824 23424768 Brazil 455824 BR 7 Town
# 7 Rio de Janeiro http://where.yahooapis.com/v1/place/455825 23424768 Brazil 455825 BR 7 Town
# 8 Salvador http://where.yahooapis.com/v1/place/455826 23424768 Brazil 455826 BR 7 Town
# 9 São Paulo http://where.yahooapis.com/v1/place/455827 23424768 Brazil 455827 BR 7 Town
# 10 Campinas http://where.yahooapis.com/v1/place/455828 23424768 Brazil 455828 BR 7 Town
# 11 Fortaleza http://where.yahooapis.com/v1/place/455830 23424768 Brazil 455830 BR 7 Town
# 12 Goiânia http://where.yahooapis.com/v1/place/455831 23424768 Brazil 455831 BR 7 Town
# 13 Manaus http://where.yahooapis.com/v1/place/455833 23424768 Brazil 455833 BR 7 Town
# 14 São Luís http://where.yahooapis.com/v1/place/455834 23424768 Brazil 455834 BR 7 Town
# 15 Guarulhos http://where.yahooapis.com/v1/place/455867 23424768 Brazil 455867 BR 7 Town
# 16 Brazil http://where.yahooapis.com/v1/place/23424768 1 Brazil 23424768 BR 12 Country
Como exemplo, podemos pegar os dados de São Paulo e verificar qual o TT agora.
id_SP %
filter(name == "São Paulo") %>%
select(woeid) %>%
as.character()
sao_paulo %
select(trend, tweet_volume) %>%
as.data.frame()
# trend tweet_volume
# 1 #somostodosgabrielmonteiro 110466
# 2 #ForaDaniel 30405
# 3 Paraguai 40761
# 4 #bdsp NA
# 5 Dudu 20520
# 6 #fsradiobrasil NA
# 7 Marcela 228904
# 8 PRIOR ATE O FIM 20979
# 9 #SEJOGA NA
# 10 The Last of Us 31033
# 11 ZERO ESTALECAS FOI MUITO NA
# 12 Nairóbi 27972
# 13 R$5,00 10573
# 14 Agostinho Carrara NA
# 15 TDAH NA
# 16 Ghost of Tsushima 25293
# 17 PROVA DA COMIDA NA
# 18 Ibis 14808
# 19 TLOU NA
# 20 Castlevania 28073
# 21 OLHOS ABERTOS NA
# 22 CHEGA DE FAKE NEWS NA
# 23 Waze NA
# 24 weverton NA
# 25 Duvivier NA
# 26 Gregório NA
# 27 PIB Privado NA
# 28 R$4,61 14559
# 29 Ellen Page NA
# 30 Censo 2020 NA
# 31 Capricho NA
# 32 EXPULSO DA PM NA
# 33 O PVC NA
# 34 Garoto Errado NA
# 35 #LCDP4 59409
# 36 #LaCasaDePapel NA
# 37 #ILoveMeTONIGHT 14919
# 38 #RexonaDanceStudio NA
# 39 #TheBookOfYouAndI NA
# 40 #loveisblindReunion 21994
# 41 #DisneyAdaptPercyJackson NA
# 42 #CaminhosDoCoração243 NA
# 43 #AtardeESua NA
# 44 #Priel NA
# 45 #guinosejoga NA
# 46 #ScoobyOFilme NA
# 47 #7TRACKBYTRACK 47081
# 48 #500DaysWithATEEZ NA
# 49 #foxsportsradio NA
# 50 #dolar NA
Como nem tudo é perfeito, a busca por Trending Topics possui algumas limitações, entre elas podemos destacar que o Twitter só permite 75 requisições de dados a cada 15 minutos (ou seja, apenas 75 localidades a cada 15 minutos) e também que nem todas as localidades estão contempladas (enquanto São Paulo possui dados da cidade de São Paulo, Campinas e Guaralhus a presença de cidades do norte, nordeste e centro-oeste é minima).
Estes dados podem ser usados de diversas maneiras, como integrados a dashboard de monitoramento em tempo real ou através da bots, como o Trendy, que envia o TT para os usuários a cada hora.