• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar al pie de página
logo web Geoinnova

Geoinnova

Consultoría y Formación en SIG y Medio Ambiente

  • Geoinnova
    • Asociación
    • Equipo
    • Visor de proyectos Geoinnova
    • Geolibrería
    • Alianzas Estratégicas
  • Consultoría
    • Consultoría y Desarrollo en Sistemas de Información Geográfica
    • Consultora Ambiental
    • Turismo sostenible
    • Planificación urbana y ordenación del territorio
    • Planes Urbanos de Actuación Municipal – PUAM
    • Geomarketing
  • Servicios
    • Planero Web
    • QElectricGIS
    • Plugins
  • Formación
    • Todos los cursos
    • Webinars
    • Máster y Diplomas
    • Cursos de ArcGIS
    • Cursos de QGIS
    • Cursos de Teledetección
    • Cursos de Medioambiente
  • Medio Ambiente
    • Consultora Ambiental
    • Estudios ambientales para proyectos de energías renovables
    • Estudios de Impacto e Integración Paisajística
    • Evaluación Ambiental Estratégica de planes y programas
    • Estudio de Impacto Ambiental para proyectos
    • Cálculo huella de carbono
    • Educación Ambiental
    • Cursos de Medioambiente
  • Coworking
  • Blog
    • SIG
    • Medio Ambiente
    • Teledetección
    • Programación y Desarrollo SIG
    • Corporativo
  • Contacto
    • Soporte de Clientes – Tickets
SIG Tecnología

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

18/05/2020 Deja un comentario

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

Apúntate a nuestra newsletter semanal

"*" señala los campos obligatorios

Consentimiento*
*
Este campo es un campo de validación y debe quedar sin cambios.

Información legal

Cumplimos el RGPD (Reglamenteo General de Protección de Datos) y esta en la primera información que debes saber. Responsable: Asociación Geoinnova. Finalidad: Apuntarte en nuestra base de datos para poder enviarte nuestra newsletter y cualquier otra información de interes. Legitimidad: Nos das tu consentimiento para comunicarnos contigo. Derechos: Tienes derecho a acceder, rectificar, limitar y suprimir tus datos. Para una información más ampliada entra a nuestra política de privacidad.

Artículos relacionados

GeoNode, suite para la gestión colaborativa de datos geoespaciales
31/01/2023
Cómo crear un modelo digital del terreno a partir de múltiples bloques LIDAR con CloudCompare
24/01/2023
Cómo documentar proyectos en QGIS con el complemento ‘Project Reports’
17/01/2023

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.

Interacciones con los lectores

¿Quieres comentarnos algo? Adelante! Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Footer

Menú Legal

  • Aviso Legal
  • Política de privacidad
  • Política de cookies
  • Términos y condiciones

Otras páginas de interes

  • Promociones y descuentos en formación
  • Formación bonificada FUNDAE

Contacto

Calle Luis Morondo Urra nº 8 Bajo A
31006 Pamplona (Navarra)
info@geoinnova.org
+34 948 117 137

Horario de atención

Lunes a Viernes - 09:00 a 14:00 y de 16:00 a 19:00.
Fines de semana y Festivos - Exclusivamente por mail.
Horario de Verano (01 de julio al 30 de agosto): De lunes a viernes de 8 a 15h.
Entidad adherida a Confianza Online Certificado de inscripción en el Registro de huella de carbono, compensación y proyectos de absorción Logo Plazox

© 2023 · Desarrollada por Geoinnova en colaboración con OikosMSP

Gestionar el Consentimiento de las Cookies
Utilizamos tecnologías como las cookies para almacenar y/o acceder a la información del dispositivo. Lo hacemos para mejorar la experiencia de navegación y para mostrar anuncios personalizados. El consentimiento a estas tecnologías nos permitirá procesar datos como el comportamiento de navegación o las identificaciones únicas en este sitio. No consentir o retirar el consentimiento, puede afectar negativamente a ciertas características y funciones.
Funcional Siempre activo
El almacenamiento o acceso técnico es estrictamente necesario para el propósito legítimo de permitir el uso de un servicio específico explícitamente solicitado por el abonado o usuario, o con el único propósito de llevar a cabo la transmisión de una comunicación a través de una red de comunicaciones electrónicas.
Preferencias
El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario.
Estadísticas
El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos. El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos anónimos. Sin una requerimiento, el cumplimiento voluntario por parte de su proveedor de servicios de Internet, o los registros adicionales de un tercero, la información almacenada o recuperada sólo para este propósito no se puede utilizar para identificarlo.
Marketing
El almacenamiento o acceso técnico es necesario para crear perfiles de usuario para enviar publicidad, o para rastrear al usuario en un sitio web o en varios sitios web con fines de marketing similares.
Administrar opciones Gestionar los servicios Gestionar proveedores Leer más sobre estos propósitos
Preferencias
{title} {title} {title}