Cómo crear una app de twitter para poder acceder a tweets a través de R

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (4 votos, media: 5,00 sobre 5)
Cargando…

En esta nueva entrada vamos a ver cómo crear una APP de Twitter para poder acceder a los Tweets a través del lenguaje de programación R.  La APP para desarrolladores de Twitter permite múltiples funciones:

  • Administración de anuncios
  • Publicación y gestión de historias
  • Análisis de datos de Twitter
  • Integración de redes sociales

Algunas de estas funciones están limitadas según el tipo de usuario o la finalidad (API Premium o API Empresarial). Sin embargo, podemos acceder a una alta variedad de funciones de libre acceso (API estándar).

Procedimiento

Para poder acceder a las funciones libres, vamos a entrar en la página para desarrolladores a través del siguiente link: https://developer.twitter.com/en/apps

Podemos acceder a través de nuestra cuenta de Twitter y verificaremos el usuario a través de nuestro correo electrónico. Una vez en tenemos nuestro usuario, vamos a crear nuestra APP a través del botón

create app

Para crear una APP debemos definir una serie de campos obligatorios:

  • Nombre de la aplicación
  • Descripción (descripción básica)
  • URL del sitio (cualquiera disponible – no va a mostrar información)
  • Uso de la aplicación (descripción básica)

Una vez creada, nos aparecerá nuestra APP en la pestaña de aplicaciones.

pestaña aplicaciones

Si pulsamos sobre la pestaña ”Details”, accederemos a una serie de pestañas desde las que obtendremos información imprescindible para usar nuestra función en R:

  • Detalles de la APP (App Name)
  • Keys & Tokens (API keys y Acces tokens)

Una vez localizados los datos imprescindibles para realizar la conexión, vamos a ir a R.

Para obtener los tweets disponibles, vamos a utilizar el paquete “rtweets”. Rtweets permite a los usuarios extraer datos de la API REST de Twitter. Los tres objetivos principales son:

  • Envío de solicitudes a la API REST
  • Recuperación e iteración sobre los datos devueltos.
  • Disposición de datos en estructuras ordenadas

Lo primero será instalar la librería:

install.packages("rtweet")

Después vamos a cargarla:

library(rtweet)

En este punto ya tenemos instalada y en funcionamiento la librería. Este es el momento de utilizar los datos de la API. Para ello seleccionaremos el Nombre de la API (APP_NAME) y varias Claves y Tokens necesarios (API KEY, API SECRET KEY, ACCES TOKEN y ACCES TOKEN SECRET).

Vamos a crear una serie de variables y les asignaremos el valor (en este caso cadena de texto) correspondiente:

APP_NAME <-  "nombre_api"
API_KEY <-  "xzxzxzxzxzxxzx"
API_SECRET_KEY <-  "xzxzxzxzxzxxzx"
ACCES_TOKEN <- "xzxzxzxzxzxxzx"
ACCESS_TOKEN_SECRET <-  "xzxzxzxzxzxxzx"

Una vez definidas, vamos a enviar una solicitud para generar un nuevo token de autenticación OAuth:

twitter_token <- create_token(app = APP_NAME,consumer_key = API_KEY, consumer_secret = API_SECRET_KEY, access_token = ACCES_TOKEN, access_secret = ACCESS_TOKEN_SECRET)

Esta instrucción genera un código de autenticación interno que nos permitirá enviar peticiones a la API REST de Twitter.

La API Estándar (gratuita) permite la obtención de Tweets de cualquier localización en los últimos 7 días. Sin embargo, solo podemos obtener 18.000 tweets cada 15 minutos (no está del todo mal).

En nuestro caso vamos a definir una petición en la que rescataremos 1000 tweets (si los hay) con el hashtag #RSTUDIO #RSTATS y #R en el área de Madrid, en concreto para un área circundante de 750 km.

Definimos varios hashtags de la siguiente forma:

HASHTAG <- "#RSTUDIO OR #RSTATS OR #R"

La localización se define a partir de la latitud, la longitud y el radio de búsqueda con l siguiente estructura:

GEOLOC <- "40.36329,-3.69141,750km" #Madrid

Definiremos el número máximo de tweets con:

N_TWEETS <- 1000

Ahora sí podemos crear nuestra petición de Tweets con la siguiente instrucción:

tweets<- search_tweets( q = HASHTAG, geocode = GEOLOC, n = N_TWEETS, max_id = T, parse = T, retryonratelimit = T, verbose = T)

 

Los parámetros “max_id” y “parse” son necesarios para estructurar de forma correcta los datos. El parámetro “retryonratelimit” y “verbose” se deberán utilizar siempre que el número de tweets sea mayor a 18.000. En ese caso, cada 15 minutos, la instrucción recuperará 18.000 nuevos tweets (siempre que existan en esa ubicación y con el hashtag indicado).

Resultado

El resultado de nuestra consulta ha sido de 574 tweets. Los datos han sido guardados en el objeto tweets de tipo data.frame y ya podemos manipular y analizar nuestros datos a través de R. Entre los campos disponibles, podemos encontrar el texto del tweet original, la fuente de subida (Twitter u otras plataformas), el área de localización (Topónimo) o la localización exacta de cada tweet a través de latitud y longitud (en caso de que estuviera activada la localización del dispositivo).

tweets con R

Autor: RemOT Technologies

Artículo anteriorHallazgo de mejillones en Antártida revela potencial de futuras invasiones
Artículo siguienteWebinar gratuito: Empezando con «R» en el tratamiento de imágenes de satélite
RemOT Technologies
RemOT Technologies es una empresa colaboradora de Geoinnova, especialista en desarrollo de aplicaciones GIS para la web, cartografía y análisis espaciales automatizados. Desarrolla visores web cartográficos, aplicaciones basadas en geolocalización y plugins y personalizaciones de QGIS para resolver problemas de distintos ámbitos, como por ejemplo la gestión de parcelas o la gestión de redes. RemOT ya ha trabajado en varios proyectos de desarrollo de la mano de Geoinnova y, además, también ha participado, entre otros proyectos como en el desarrollo del Atlas Nacional de España. Ha sido reconocida como una de las 100 mejores empresas geoespaciales del mundo en el año 2019 por Geoawesomeness, una de las 50 Startup españolas de futuro por la revista Emprendedores y posee el sello Pyme Innovadora del Ministerio de Ciencia Innovación y Universidades. En la parte dedicada a formación, Lucía Martínez, Marcos Gimeno y Miquel Febrer, imparten diversos cursos en la plataforma de Geoinnova.

Dejar respuesta

Please enter your comment!
Please enter your name here