Ya abordamos aquí un método para capturar tuits, pero hemos encontrado uno mejor, así que contaremos también este otro que es el que vengo utilizando últimamente. Anteriormente trabajamos con un paquete de R llamado TwitteR, hoy utilizaremos otro denominado rtweet. Este paquete nos permite capturar un poco más de una semana para atrás, y también nos permite capturar en tiempo real.
Los dos primeros pasos están copiados y pegados del post anterior ya que estos pasos son iguales.
R no es sólo una letra
R es un lenguaje y entorno de programación diseñado específicamente para trabajar con datos a nivel estadístico, desarrollar visualizaciones y combinar la data. Permite además incorporar diferentes “paquetes” que le agregan funcionalidades por encima de las ya predefinidas. Además de R como entorno de programación, utilizaremos R Studio que es una interfaz gráfica que hace que el diálogo con la Matrix sea un poco más fácil para humanos promedio (no programadores).
Conectando con Twitter
Una vez que tenemos el entorno listo, es decir los paquetes que mencionamos arriba instalados y activados (no es suficiente con instalarlos, hay que chequear en el listado que el checkbox de cada paquete esté tildado), deberíamos comenzar el proceso de conectar con la API de Twitter para realizar el pedido de la data que quiero capturar. Esto implica un paso más que es el de obtener las credenciales necesarias.
Para hacer esto debemos crear una app que conecte con Twitter. Esto suena mucho más difícil de lo que efectivamente es. Ingresando a My Apps en el portal de desarrollo de Twitter y habiendo logueado con nuestra cuenta podremos crear un App cargando unos datos básicos:
Habiendo completado este primer paso debemos obtener las siguientes credenciales:
- api_key
- api_secret
- token
- token_secret
Guardemos esto en un txt o algún archivo que nos quede a mano ya que cada vez que querramos pedirle datos a Twitter vía R vamos a necesitarlos.
Preparando el espacio de trabajo.
Estas tres líneas nos van a permitir tener todos los paquetes instalados y activados para hacer las operaciones, así como dejará claro en el idioma con el que estaremos trabajando, clave para no tener errores de enconding.
Sys.setlocale(category = "LC_ALL", locale = "es_ES")
if (!require("pacman")) install.packages("pacman")
p_load(rtweet,jsonlite,dplyr,readr)
Conectando con Twitter
Ahora si, a ingresar el siguiente código (reemplazando con sus credenciales los ejemplos). Lo más probable es que una vez que corran este código les abra una página en su navegador dónde les solicite que habiliten su app.
name assigned to created app
appname <- "XXX"
## api key (example below is not a real key)
key <- "API KEY"
## api secret (example below is not a real key)
secret <- "API SECRET"
twitter_token <- create_token(
app = appname,
consumer_key = key,
consumer_secret = secret)
A capturar tuits
Ya tenemos el espacio de trabajo listo. Ya conectamos con Twitter. Ahora a pedirle los tuits con los que queremos trabajar:
tuits= as_tibble(search_tweets("EleccionesAR", n = 15000))
Expliquemos qué significa esto. Estamos creando una matriz de datos llamada tuits en este caso, que se construye al realizar una búsqueda en Twitter de todos los tuits que contengan la cadena de caracteres “EleccionesAR”. Buscará hasta 15 mil resultados, pudiendo encontrar menos.
tuitsdelista= as_tibble(search_tweets("list:berzherac/PASOFederales", n = 15000))
En este otro caso, vemos como le hemos cambiado el nombre a la matriz de datos, ahora se llama tuitsdelista. Esto nos sirve para diferenciar en este caso los tuits que capturaremos desde una lista.
Exportando los tuits
Nos falta un sólo paso para poder trabajar nuestro corpus por fuera de R (si así quisiéramos). Debemos exportar los tuits a un archivo csv, para luego poder importarlos en cualquier otro programa.
write.csv(tuits, file="nombredearchivo.csv")
Tip: siempre revisen los nombres de archivo que exportan para no pisar una captura anterior. 😉
Juani Belbis
juanibelbis.com.ar
Latest posts by Juani Belbis (see all)
- El método más simple para capturar tuits con IFTTT - 27 noviembre, 2017
- Otro método para capturar tuits - 28 octubre, 2017
- ¿Qué #PASOenTwitter en estas dos semanas de campaña? Parte 1 - 28 julio, 2017