Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
with R
José Fernando Padrón Tristán
Minería de datos
Dra. Claudia Guadalupe Gómez Santillán
Dra. Laura Cruz Reyes
API Twitter
En el portal https://developer.twitter.com En la sección API
details
Seleccionar un mirror
Cargar la librería
Library(“twitteR”)
Certificado adicional
Para equipos con SO Windows, se debe descargar y guardar el
archivo cacert.pem, el cuál es parte de un cierto tipo de
certificación para transferencias por internet.
Descargar archivo cacert.pem de la siguiente url:
http://curl.haxx.se/ca/cacert.pem
y especificar la ubicación del archivo en el equipo
Librerías adicionales
Adicionalmente se deben cargar las librerías ROAuth y Rcurl:
install.packages(c(‘ROAuth’, ‘RCurl’))
require (‘ROAuth’)
require (‘RCurl’)
Requerir autorizació n de
twitter
Utilizar los datos de la API de twitter para solicitar autorización
de acceso a la información de este portal
my.key = "4Iwk7yF7ikAM6Zfv8CxG1xnrK“ #API key
my.secret = "a0o3c2TUEz6BimJSf6tq05BB8xg63PHVvtPWk7jTTPP44cPX3S“
#API secret key
cred <- OAuthFactory$new(consumerKey=my.key,
consumerSecret=my.secret,
requestURL='https://api.twitter.com/oauth/request_token',
accessURL='https://api.twitter.com/oauth/access_token',
authURL='https://api.twitter.com/oauth/authorize')
Uso del certificado
Con el siguiente comando, se especificará el certificado
para acceder a la información en twitter
cred$handshake(cainfo="c:/users/usuario/documents/cacert.pem")
R Responderá con una dirección que se debe 1) copiar y 2) pegar
en un navegador de internet
1
2
El navegador redireccionará con la variable oauth_verifier,
3) copiar el valor y 4) pegarlo en R
3
4
Salvar autenticació n
Para salvar la autenticación creada, escribir los siguientes
comandos en R
save(cred, file="twitter authentication.Rdata")
my.token = "273201166-kqNssTyyhVJVGv4iKWUk78H7tZ71BQziOQ7ORtVz"
my.tokensecret = "aCNzkrDSxChcSwYkTr9deUd6v6lL30PaaveL4jxy5RtQE"
setup_twitter_oauth(my.key, my.secret, my.token, my.tokensecret)
[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
Recuperació n de tweets
searchTwitter retorna los últimos n tweets que contengan #bigdata en el texto
bigdata <- searchTwitter("#bigdata", n=1500)
class(bigdata) # retorna el tipo de estructura de bigdata
head(bigdata) # retorna unos cuantos objetos en la lista bigdata
bigdata[[4]] # imprime el cuarto elemento de la lista
length(bigdata) # imprime la cantidad de objetos en la lista bigdata
Límite de bú squedas para API
La API de twitter limita el número de búsquedas que se pueden
realizar en un periodo dado.
Para revisar los límites, las búsquedas realizadas y las restantes,
usar la función getCurRateLimitInfo
> rate.limit <- getCurRateLimitInfo(c("lists"))
> rate.limit
Crear archivo CSV
Para evitar sobrepasar el límite de las búsquedas, se puede
guardar la lista extraída a un archivo separado por comas: CSV
#convertir la lista bigdata a un dataframe
bigdata.df <- do.call(rbind, lapply(bigdata, as.data.frame))
# crear el archivo separado por comas
write.csv(bigdata.df, "C:/…/bigdata.csv")
Matriz documento-término
•Matriz
donde cada fila representa un documento y cada término
único es representado en una columna.