API do Twitter

Prof. Walmes Marques Zeviani

04 Abr 2017

Objetivo e justificativa

Criando uma API no Twitter

Criar API

Figura  1: Configurações da API no Twitter.

Figura 1: Configurações da API no Twitter.

Pacote twitterR

Instalação e conteúdo

install.packages("twitteR",
                 dependencies = TRUE,
                 repos = "http://cran-r.c3sl.ufpr.br/")
library(twitteR)
packageVersion("twitteR")
ls("package:twitteR")

Credenciais para acesso

consumer_key <- ""
consumer_secret <- ""
# access_token <- ""
# access_secret <- ""

setup_twitter_oauth(consumer_key,
                    consumer_secret,
                    access_token,
                    access_secret)
[1] "Using direct authentication"
Use a local file ('.httr-oauth'), to cache OAuth access credentials
between R sessions?

1: Yes
2: No

Selection: 1
Adding .httr-oauth to .gitignore

Fazendo buscas no Twitter

tw <- searchTwitter("#Rstats", n = 100)
head(tw)

# Remove os retwittes (manual retwittes and modified twittes).
rtw <- strip_retweets(tw,
                      strip_manual = TRUE,
                      strip_mt = TRUE)
length(rtw)/length(tw)
head(rtw)

Estrutura e extração

# Classe do objeto.
class(tw)

# Estratura de um twitte da lista.
twi <- tw[[10]]
class(twi)
str(twi)

twi$getIsRetweet()
twi$getRetweetCount()
twi$getRetweeted()
twi$getLatitude()
twi$getLongitude()
twi$getText()
twi$getCreated()
twi$toDataFrame()
twi$getStatusSource()

Conversão

# Cria um vetor com os textos.
r <- sapply(tw, function(x) x$getText())
# Transforma os twittes em tabela.
dtw <- twListToDF(tw)
head(dtw)

Busca por localização

tw <- searchTwitter("#ChegaDeAssédio",
                    geocode = "-25.4505006,-49.2315142,30km")
length(tw)

dtw <- twListToDF(tw)
names(dtw)
subset(dtw, select = c(5, 11, 12, 15, 16))

cat(dtw$text, sep = "\n\n")

Busca por data

tw <- searchTwitter("#rstats",
                    since = "2017-04-01",
                    until = "2017-04-04")
head(tw)

Informações de usuários

u <- getUser("UFPR")
str(u)

# Informações do usuário.
u$getDescription()
u$getUrl()
u$getLocation()
u$getName()
u$getCreated()
u$getScreenName()
u$getLastStatus()
u$getProfileImageUrl()

# Número de usuários que segue.
u$getFriendsCount()
u$getFriends(n = 5)

# Número de seguidores e lista dos seguidores.
u$getFollowersCount()
# u$getFollowers()

# Número de likes.
u$getFavouritesCount()

Linha do tempo do usuário

utm <- userTimeline("UFPR", n = 100)
utm[1:5]

Tendências

a <- availableTrendLocations()
subset(a, country == "Brazil")

closestTrendLocations(lat = -25.4505006, long = -49.2315142)

tr <- getTrends(455822)
head(tr[, 1:2])

Resumo

Próxima aula

Referências