Implementación de un sistema de obtención de tweets

35
Implementación de un sistema de obtención de tweets (PHP) 2016 MEMORIA DE TRABAJO SARA DIAGO – SAÚL SORIANO – JUAN CARLOS DEL SAZ – ANDREA MEINI - JUAN SEBASTIÁN BEJARANO. ARI | Universidad Politécnica de Valencia.

Transcript of Implementación de un sistema de obtención de tweets

Page 1: Implementación de un sistema de obtención de tweets

Implementación de un sistema de obtención de tweets (PHP)

2016

MEMORIA DE TRABAJO SARA DIAGO – SAÚL SORIANO – JUAN CARLOS DEL SAZ – ANDREA MEINI - JUAN SEBASTIÁN BEJARANO.

ARI | Universidad Politécnica de Valencia.

Page 2: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 2

Resumen

En el presente documento vamos a explicar de forma detallada cuales son los

pasos que hemos seguido para el desarrollo e implementación de un sistema para la

obtención de publicaciones de la red social Twitter, mencionando cada una de las

herramientas y tecnologías empleadas para la creación de este proyecto.

Esta herramienta ha sido desarrollada por un grupo de cinco alumnos del Máster

en Gestión de la Información de la Universidad Politécnica de Valencia para la

asignatura de Almacenamiento y Recuperación de la Información como trabajo final

de la misma en el curso 2015-2016.

Palabras clave: Twitter, API, keys, tweets y geolocalización.

Page 3: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 3

Índice Introducción .......................................................................................................... 5

Objetivos ................................................................................................................ 6

Twitter, la Red Social. ............................................................................................ 7

Generación de clave Google API ....................................................................... 9 Creación de cuenta en Google API ............................................................................... 9 Generar y crear API Key .................................................................................................. 10 Para qué se usa la API Key ............................................................................................. 10

Generación de clave OpenWeather ................................................................ 11 Creación de cuenta en OpenWeatherMap ............................................................... 11 Generar API Key ............................................................................................................... 12 Para qué se usa la API Key ............................................................................................. 12

Generación de Claves Twitter ........................................................................... 13 Creación de cuenta ....................................................................................................... 13 Darse de alta en el servicio de desarrolladores de Twitter. ........................................ 14 Generar Api Key y Token’s .............................................................................................. 15 Para qué se usa la API Key ............................................................................................. 16

Crear acceso desde PHP a la API de Twitter. ................................................... 17

Configuración de Tokens y claves de acceso ................................................ 18

Configuración de la ruta que apunta a la solicitud de los tweets ................. 18

Filtrar información y crear array multidimensional del mismo. ...................... 20

GeoTwitter ............................................................................................................ 21 Estructura de la aplicación ............................................................................................. 21 TwitterClass .......................................................................... ¡Error! Marcador no definido.

GetJsonGeoTweets ...................................................................................................... 22 GetInfoTwitter ................................................................................................................ 23 GetCoordinates ............................................................................................................ 24

Índex .................................................................................................................................. 25 Inicialización de datos (PHP) ....................................................................................... 25 Creación del mapa e inserción de datos ................................................................. 26

Ficheros App ........................................................................................................ 28 Ficheros Servidor .............................................................................................................. 29 Ficheros Cliente ................................................................................................................ 29

Page 4: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 4

Tecnologías Utilizadas ........................................................................................ 30 HTML5 ................................................................................................................................. 30 JavaScript ......................................................................................................................... 30 Bootstrap ........................................................................................................................... 30 PHP ..................................................................................................................................... 31 MySQL ................................................................................................................................ 31

Bibliografía ........................................................................................................... 32

Anexo ilustraciones ............................................................................................. 34

Page 5: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 5

Introducción

En la siguiente memoria implementamos un sistema de obtención de tweets en PHP, para la realización de dicho proyecto iniciamos con una serie de pasos para así disponer de la API de Twitter, usando la versión 1.1.

Para la extracción de datos debemos comenzar a programar simples aplicaciones que interactúen con la API (Aplication Programming Interface) de Twitter por medio del lenguaje PHP. Para poder trabajar con la API debemos estar registrados como desarrollador en Twitter, para luego crear la aplicación definiendo el nombre que deseemos, donde será alojado el servicio.

Hay que tener en cuenta ciertos aspectos como generar 4 códigos que no se deben compartir.

* API Key

* API secret

* Access token

* Access token secret

Esto es necesario ya que si no lo hacemos, no podremos escribir programas que puedan ser autenticados por twitter y obtener autorización para usar el API. El API también se divide básicamente en 2 grandes "categorías" por así decirlo el API Rest y el API Streaming.

Page 6: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 6

Objetivos

El principal objetivo del presente estudio es el desarrollo de una herramienta de obtención de publicaciones de usuarios de la red social Twitter.

Estas publicaciones, llamadas tweets en el entorno, quedan recogidas mediante un buscador creado en (PHP), por medio de la Api de esta red, y que se muestra en un (HTML).

La plataforma desarrollada permite, a través de un buscador de palabras, encontrar los últimos 100 tweets que contengan dicha palabra ordenados de forma cronológica. Éstos, además, también se muestran en un mapa que geolocaliza cada uno de ellos.

La herramienta desarrollada contiene funcionalidades extras que permiten al usuario de la misma crear un histórico de los tweets encontrados y relevantes para el mismo, pudiendo ser éstos almacenados.

También, el usuario, puede realizar las búsquedas no sólo por palabras clave, sino por hashtag, lo que le permite acceder a un hilo de publicaciones con relevancia para la búsqueda realizada.

Page 7: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 7

Twitter, la Red Social.

La red social Twitter nace en Marzo de 2006 de la mano de Jack Dorsey, y fue lanzado al mercado en el mes de Julio del mismo año.

Twitter es un servicio de microblogging que permite, a través de internet, enviar mensajes de texto plano con un máximo de 140 caracteres, que se llaman tweets. El usuario de la red se crea una cuenta en el servicio web o móvil de la aplicación mediante su correo electrónico e incluyendo una contraseña; cada usuario puede añadir a otros, lo que se denomina “seguir”, y éstos además pueden ser “seguidos” por otros usuarios. Al añadir usuarios al espacio personal de uno mismo se pueden ver las publicaciones de cada unos de ellos desde el muro o página de inicio del usuario.

Los mensajes publicados pueden ser de carácter público, que pueden ser leídos por todos los usuarios, o privado, restringidos para ciertos usuarios; éstos tienen que ser acordes a las directrices sobre las condiciones de uso y privacidad.

Los tweets publicados por los usuarios pueden versar sobre cualquier tema, y son caracterizados por hashtags, que incluyen una almohadilla (#) delante de cada contenido sobre el que tratan. La pluralidad de los mismos puede observarse en el siguiente gráfico, de un estudio elaborado por la empresa Pear Analytics.

Ilustración 1 Gráfico contenidos Twitter

Page 8: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 8

Actualmente, Twitter cuenta con más de 500 millones de usuarios alrededor del mundo, que generan aproximadamente unos 65 millones de tweets al día, y tiene más de 800.000 peticiones de búsqueda diarias. En la web de red podemos obtener los siguientes datos que nos aportan una imagen fiel de los datos que maneja la empresa, y del tráfico que ésta genera en la red.

Ilustración 2 Datos empresariales Twitter

Page 9: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 9

Generación de clave Google API

Creación de cuenta en Google API

Google API es un conjunto de interfaces de programación de aplicaciones (API) desarrollado por Google que permiten la comunicación con los servicios de Google y su integración con otros servicios. Ejemplos de estos incluyen Google Maps que es lo que deseamos utilizar. Las aplicaciones de terceros pueden utilizar estas API para aprovechar o ampliar la funcionalidad de los servicios existentes.

Las API proporcionan funcionalidad como de análisis, aprendizaje automático como un servicio o el acceso a los datos del usuario.

Nos registramos con la cuenta de Correo: [email protected] para poder tener acceso a la API que nos proporcionan. Buscamos una clave API para JavaScript.

Ilustración 3 API Google

Ahora registramos la aplicación para Google Maps JavaScript API en Google Developers Console y aceptamos los derechos.

Ilustración 4 API Google Términos y condiciones

Page 10: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 10

Generar y crear API Key

Para la creación de la API debemos ingresar un nombre en concreto para esta API Key, el cual nombraremos “Clave ARI” y damos a crear.

Ilustración 5 API Google Creación

Creamos las credenciales para obtener nuestra API Key.

Ilustración 6 API Google Obtención key

Para qué se usa la API Key

Las API proporcionan funcionalidad de análisis, aprendizaje automático, como un servicio, o el acceso a los datos del usuario (cuando se le da permiso para leer los datos). Otro ejemplo importante es un mapa de Google incrustado en una página web, que se puede conseguir mediante la API de mapas estáticos; que es la finalidad de esta API Key.

Page 11: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 11

Generación de clave OpenWeather Creación de cuenta en OpenWeatherMap

Es un servicio en línea que proporciona una API, incluyendo datos meteorológicos actuales, pronósticos y datos históricos a los desarrolladores de servicios web y aplicaciones móviles. OpenWeatherMap tal que intenta proporcionar mapas precisos de datos de pronóstico del tiempo y del tiempo en línea. Más allá de eso, el servicio se centra en los aspectos social.

Nos registramos con la cuenta de Correo: [email protected] para poder tener acceso a la API que nos proporcionan.

Ilustración 7 OpenWeatherMap Registro

Cuenta creada

Ilustración 8 OpenWeatherMap Creación cuenta

Page 12: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 12

Generar API Key

Para la generación de la API Key de Open Weather Map, ya estando identificados con nuestra cuenta nos dirigimos a la pestaña de API y seleccionamos un plan gratuito.

Ilustración 9 OpenWeatherMap Tipo API

Luego de ya tener nuestro plan gratuito de API generamos nuestra API Key.

Ilustración 10 OpenWeatherMap Obtención key

Para qué se usa la API Key

La API proporciona coordenadas de las ciudades y así geo localizarlas en el mapa según la ubicación de los tweets.

Page 13: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 13

Generación de Claves Twitter

Creación de cuenta

Para la manipulación de los tweets procedemos a crear una cuenta en Twitter.

Usuario: @trabajoari

Correo: [email protected]

Ilustración 11 Twitter Creación cuenta

Page 14: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 14

Darse de alta en el servicio de desarrolladores de Twitter.

Para usar los servicios de twitter tales como crear una aplicación con un API de Twitter es necesario registrarse con la misma cuenta que tenemos.

Ilustración 12 Twitter Creación App

Aceptamos los términos para la creación de la App.

Ilustración 13 Twitter App Términos y condiciones

Page 15: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 15

Rellenamos los campos obligatorios.

Ilustración 14 Twitter App. Nombre y descripción

Generar Api Key y Token’s

Las aplicaciones normalmente se ejecutan con el nivel de acceso concedido en un token de acceso de usuario estándar, nosotros vamos a necesitar 4 token.

Ilustración 15 Twitter API key

Page 16: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 16

Ahora generamos los token Access:

Ilustración 16 Twitter Access token. Creación

Se han generado dos Tokens “Access Token” y “Access Token Secret”.

Ilustración 17 Twitter Access tokens. Obtención

Para qué se usa la API Key

Facilita el acceso a la base de datos trayendo información proporcionando un subset de tweets en casi tiempo real. Establece una conexión permanente con los servidores de twitter y mediante una petición se recibe un flujo continuo de tweets. La API nos da acceso a nuestra cuenta Twitter a través de nuestra aplicación por eso tanto la API Key y los tokens son de carácter privado.

Page 17: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 17

Crear acceso desde PHP a la API de Twitter.

Ya teniendo todas los tokens y claves necesarias para hacer funcionar la API. Aquí procedemos a realizar una autentificación con PHP en la API de Twitter. Nosotros procedemos a realizar la programación desde el localhost (XAMPP). Creamos una carpeta, en nuestro caso ARI, descargando allí la librería “TwitterAPIExchange.php” del repositorio de James Mallison que cuenta con la licencia MIT, y editando un archivo al cual llamaremos “searchTweets.php” por medio del editor de texto Sublime Text.

Ilustración 18 Directorio local App (XAMPP)

Ilustración 19 Archivos inicio App

En el archivo “searchTweets.php” necesitamos llamar a la librería de la siguiente manera.

Ilustración 20 Librería Twitter

Page 18: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 18

Configuración de Tokens y claves de acceso

En nuestro archivo “searchTweets.php configuramos las claves de acceso y los tokens que generamos en nuestra App.

Ilustración 21 Inserción tokens & key al código

Configuración de la ruta que apunta a la solicitud de los tweets

Vamos a generar una consulta en la API de Twitter de una búsqueda general. Con el JSON "https://api.twitter.com/1.1/search/tweets.json" que obtenemos en la pagina de twitter que tiene todos los datos de búsqueda de twitter.

Hacemos las peticiones mediante el método GET, para obtener un JSON con todos los tweets haciendo la petición al Resource URL.

Una vez que sabemos como obtener los datos de la Api, nos vamos a construir una función que devuelva un JSON con los datos de la API de twitter en función de una búsqueda y el número de resultados que queremos obtener, haciendo uso de la librería TwitterAPIExchange que nos va a facilitar la comunicación con la API de twitter.

Ilustración 22 Información URL datos Twitter

Page 19: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 19

Ilustración 23 Operación GET API Twitter

Para poder hacer consultas a twitter debemos tener este certificado “cacert.pem” en el contenedor web donde ejecutaremos la aplicación.

Ilustración 24 Certificado consultas Twitter

Page 20: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 20

Filtrar información y crear array multidimensional del mismo.

Filtraremos la información relevante para nosotros y almacenarla en un array. Para esto vamos a crear una función llamada getJSONTweets ($busqueda,ntweets), que aceptará una variable donde se almacenara el JSON para poder obtener la información útil.

Ilustración 25 Función Array almacenamiento

En primer lugar vamos a codificar el JSON que hemos obtenido:

Ilustración 26 Codificación JSON

Ahora vamos almacenar el numero de ítems que contiene este JSON

Ilustración 27 Ítems JSON

Por medio de un for vamos a iterar los item y vamos a ir almacenándolos en un array multidimensional $rawdata toda la información.

Los ítems que vamos a ir almacenando son:

• Fecha. • Imagen. • Usuario. • Tweet.

Page 21: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 21

Ilustración 28 Ítems almacenados en código

GeoTwitter

La realización de una geolocalización de tweets de diferentes usuarios con sus respectivas ubicaciones es una manera de visualizar nuestra aplicación. Para la realización de esta visualización la cual nombramos como GeoTwitter vamos a usar lenguajes tanto del lado del servidor (PHP), (HTML, JavaScript), así como el intercambio de información por medio de JSON.

Estructura de la aplicación

Utilizaremos la librería “TwitterAPIExchange” que contiene todas las funciones necesarias para conectar la API, y así obtener o realizar de manera fácil las búsquedas de lo que nosotros deseamos. Para el correcto funcionamiento de la aplicación se ha creado una serie de funciones que se encuentran en un fichero denominado “mapa.php”, en el cual se desarrolla el código necesario para darle funcionalidad a la geolocalización.

Ilustración 29 Archivos estructura aplicación

Page 22: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 22

Mapa.php

Este fichero PHP se compone de tres funciones lo cual nos proporcionan lo necesario para la realización del mapa que se presenta en la aplicación.

• GetJsonTweetsFormat. • GetInfoTweeter. • GetCoordinates.

GetJsonTweetsForMap.

Ilustración 30 Función geolocalización tweets

Esta función devuelve un vector contenedor de JSON’s a partir de las coordenadas indicadas, el radio y el número de tweets que queramos mostrar.

Si queremos más de 100 tweets tenemos que realizar “$num_tweets/100”, ya que por cada petición a la API de Twitter podemos obtener como máximo 100 tweets.

Ilustración 31 Función número de tweets recogidos

Para que funcione este método tenemos que añadir los credenciales de nuestra app de twitter en el inicio del método.

Ilustración 32 Función credenciales app Twitter

Page 23: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 23

GetInfoTwitter

Ilustración 33 Función obtención datos tweets

Esta función trae toda la información necesaria a partir del array del JSON que hemos obtenido de la función anterior. En esta función vamos a necesitar la información de:

• Latitud y Longitud • Fecha del Tweet • Imagen • Tweet

Toda la información se añade a un array multidimensional indexado tanto por nombre como por índice, finalmente la función devuelve este array.

Ilustración 34 Código información clase tweets

Page 24: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 24

GetCoordinates

Ilustración 35 Función coordenadas

Esta función hace uso de la API Open Weather Map de la cual nos registramos en pasos anteriores. Su uso se destina para la localización en el mapa que se muestra en la aplicación de la ciudad buscada.

Ilustración 36 Llamada de la API OpenWeatherMap

Page 25: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 25

Índex

Una vez que tenemos todas las funciones que vamos a necesitar para construir nuestro propio GeoTwitter vamos a pasar a escribir nuestro script principal. Este script vamos a dividirlo en dos partes:

• Inicialización de datos (PHP) • Creación del mapa e inserción de datos

Inicialización de datos (PHP)

Lo primero que debemos hacer, será inicializar los datos que vamos a usar en nuestra aplicación, donde vamos a obtener todos aquellos datos que ha publicado el usuario. Como hemos dicho antes, tenemos que comprobar si existe un parámetro GET con el índice city.

Ilustración 37 Inicialización de datos en PHP geolocalización

Una vez que se han obtenido las coordenadas buscadas, llamamos a las funciones que hemos creado en la clase Twitter, obteniendo así finalmente un array multidimensional $data con toda la información almacenada, usando nuestra API de Open Weather Map.

Page 26: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 26

Creación del mapa e inserción de datos

Vamos a crear nuestro mapa con toda la información que hemos obtenido de la API de Twitter. Para poder usar el mapa es importante entender como funciona la API de Google Maps. Es recomendable que todo el código Javascript este dentro de la etiqueta <head> </head>.

Para poder usar la API de Google Maps vamos a tener que importar su librería.

Ilustración 38 Llamada a Google API

Una vez importado, tenemos que crear un array, el cual le hemos llamado beaches (esto es debido al copy/paste del código de ejemplo de la API). Cada fila de este array contendrá el nombre del usuario del tweet, la longitud, la latitud y un índice que ira de 0 hasta el numero total de elementos.

Ilustración 39 Array datos del tweet según geolocalización

Page 27: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 27

Una vez que tenemos este array formado creamos varias funciones que nos ayuden a dibujar el mapa.

Ilustración 40 Función que permite localizar en el mapa

Esta función inicializa el mapa añadiendo las coordenadas que hemos obtenido gracias a la API Open Weather Map. Podemos observar que finalmente esta función llama a otra función llamada setMarkers.

Esta función dibujará en el mapa todos los tweet a partir de la información añadida en el array beaches.

Ilustración 41 Información usuario por medio de la geolocalización

El propósito de esta función es crear de forma iterada casillas en el mapa con toda la información del usuario. Así pues, primero vamos a crear tres arrays donde vamos a introducir información del usuario, información del tweet e información de la imagen del usuario, de tal forma que por cada usuario se añade una información similar a esta:

Page 28: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 28

Como podemos observa el array image en realidad es un array de arrays donde almacenamos otros arrays con información de la imagen. Una vez que tengamos estos tres arrays, tenemos que crear más elementos para dibujar el cuadro y por último tenemos que crear otro array que almacenará objetos marker, con la información de cada tweets. Finalmente se llamará a la funnción markerEventListenerpara interactuar con el cuadro y mostrar la información al hacer click sobre el.

Ilustración 42 Función contenido de cada tweet

Esta función dibuja un cuadro mayor mostrando el contenido del tweet al hacer click sobre el cuadro.

Finalmente tan sólo nos queda inicializar el script8.

Ficheros App

Los ficheros de código generado en lenguaje PHP, tanto para la parte de servidor, como para la parte de cliente, de mayor relevancia, empleados para el desarrollo de la aplicación son los que podemos observar en la ilustración 43.

Ilustración 43 Ficheros App Cliente/Servidor

Page 29: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 29

Ficheros Servidor

Los ficheros de la parte del servidor más relevantes que han sido utilizados para la puesta en práctica de la implementación son:

• Mapa.php Este fichero contiene las indicaciones requeridas para la recuperación de los tweets mediante visualización de los mismos por geolocalización.

• searchTweets.php Este fichero contiene las funciones necesarias para la recuperación de los tweets por medio de la opción contenida de búsqueda, tanto por palabra, como por hashtag.

• historico.php Este fichero contiene el llamado a la base de datos, que previamente se encarga del almacenamiento de los tweets que el usuario considere relevantes y los cuales haya guardado.

• TwitterAPIExchange.php Este fichero contiene la librería que se encarga de ejecutar el llamado al servidor de Twitter para recoger información detallada de los usuarios, tal como id, avatar, tweet’s, fecha del tweet, ubicación, etc.

Ficheros Cliente

Los ficheros de la parte del cliente más relevantes que han sido utilizados para la puesta en práctica de la implementación son:

• Index.php Es el fichero que contiene las indicaciones necesarias para realizar la conexión entre ambas partes, del servidor y del cliente. Éste contiene un código JavaScript en un formato PHP para recibir los tweets y mostrarlos de forma visual en un mapa.

Page 30: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 30

Tecnologías Utilizadas

HTML5

HTML, de las siglas en inglés HyperText Markup Language, es un lenguaje de marcado, que define la estructura y el código para la definición de contenidos (texto, imágenes, videos, etc.), empleado en la elaboración de páginas web. Este estándar, que es el más utilizado en páginas web y además está soportado por todos los navegadores, se encuentra bajo la supervisión del Worl Wide Web Consortium (3WC), organización dedicada a la estandarización de todas las tecnologías relacionadas con la web.

En su versión 5, la empleada para el desarrollo de la herramienta presentada, se especifican dos variantes de sintaxis respecto de la versión anterior.

JavaScript

JavaScript es un lenguaje de programación orientado a objetos (mediante arrays asociativos), basado en prototipos, imperativo, débilmente tipado y dinámico (está asociado al valor), con una sintaxis similar a otro lenguaje de programación denominado C, y con denominaciones propias de Java. Este lenguaje posee dos formas de utilización, del cliente, como parte de un navegador web que mejora la interfaz de usuario; y del servidor, utilizado para enviar y recibir información del mismo junto con la implementación de otras tecnologías como AJAX.

Bootstrap

Es un conjunto de herramientas de código abierto para la creación de páginas web, originariamente desarrollado por Twitter. El sistema cuenta con plantillas de diseño, incluidos tipografía, formularios, botones, cuadros, menús de navegación, etc. , desarrollados en HTML, CSS y JavaScript. Existen diferentes formas de utilización de Bootstrap, cada una orientada a un tipo de público en función de su nivel técnico.

Page 31: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 31

PHP

PHP, del inglés Hypertext Preprocessor, es un lenguaje de desarrollo web con código incrustado que puede ser incrustado en HTML. El código se ejecuta en el servidor, generando HTML y enviándolo al cliente que recibirá el resultado de ejecutar el script sin tener el conocimiento del código subyacente.

Esta herramienta resulta fácil de emplear para personas con pocos conocimientos técnicos, pero además ofrece otras características avanzadas para desarrolladores profesionales.

MySQL

MySQL es un sistema de gestión de bases de datos relacional (colección estructurada de tablas que contienen datos), multihilo y multiusuario, de software libre bajo la licencia de GNU GPL, pero financiado por una empresa privada que posee en su propiedad el código del sistema.

Para este sistema gestor existen diversas interfaces de programación de aplicaciones asociadas a los diferentes lenguajes de programación con los que puede implementarse. Además, MySQL funciona sobre múltiples plataformas y sistemas operativos, aunque el rendimiento de éste se encuentra optimizado para sistemas GNU/Linux.

Page 32: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 32

Bibliografía

Geekytheory, Cómo usar API de Twitter. https://geekytheory.com/como-usar-la-api-de-twitter-en-php/ ,consultado el día 25 de Marzo de 2016.

Geekytheory, Cómo obtener datos en una búsqueda. https://geekytheory.com/php-twitter-obtener-los-datos-de-una-busqueda/ ,consultado el día 25 de Marzo de 2016.

Geekytheory, GeoTwitter. https://geekytheory.com/geotwitter-google-maps-api-twitter/ ,consultado el día 25 de Marzo de 2016.

Twitter, developers. https://dev.twitter.com/ ,consultado el día 25 de Marzo de 2016.

OpenWeatherMap, alta de usuario. https://home.openweathermap.org/users/sign_up ,consultado el día 25 de Marzo de 2016.

OpenWeatherMap, descarga API. https://github.com/cmfcmf/OpenWeatherMap-PHP-Api ,consultado el día 25 de Marzo de 2016.

Twitter, developers. https://about.twitter.com/es/company ,consultado el día 25 de Marzo de 2016.

OpenWeatherMap, descarga API. http://openweathermap.org/appid ,consultado el día 25 de Marzo de 2016.

Google API´s, librerías. https://console.developers.google.com/apis/library ,consultado el día 25 de Marzo de 2016.

Wikipedia, Twitter. https://es.wikipedia.org/wiki/Twitter ,consultado el día 25 de Marzo de 2016.

Geekytheory, Cómo usar API google Maps. https://geekytheory.com/google-maps-api-v3-introduccion/ ,consultado el día 25 de Marzo de 2016.

Page 33: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 33

Bootstrap, descripción. getbootstrap.com/ ,consultado el día 25 de Marzo de 2016.

PHP, descripción. https://secure.php.net/manual/es/index.php ,consultado el día 25 de Marzo de 2016.

JavaScript, descripción. https://www.javascript.com ,consultado el día 25 de Marzo de 2016.

MySQL, descripción. https://www.mysql.com ,consultado el día 25 de Marzo de 2016.

HTML5, descripción. https://www.w3.org/TR/html5/ ,consultado el día 25 de Marzo de 2016.

Page 34: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 34

Anexo ilustraciones

Ilustración 1 Gráfico contenidos Twitter ......................................................................................... 7 Ilustración 2 Datos empresariales Twitter ....................................................................................... 8 Ilustración 3 API Google ................................................................................................................... 9 Ilustración 4 API Google Términos y condiciones ......................................................................... 9 Ilustración 5 API Google Creación ............................................................................................... 10 Ilustración 6 API Google Obtención key ...................................................................................... 10 Ilustración 7 OpenWeatherMap Registro ..................................................................................... 11 Ilustración 8 OpenWeatherMap Creación cuenta .................................................................... 11 Ilustración 9 OpenWeatherMap Tipo API ..................................................................................... 12 Ilustración 10 OpenWeatherMap Obtención key ...................................................................... 12 Ilustración 11 Twitter Creación cuenta ......................................................................................... 13 Ilustración 12 Twitter Creación App .............................................................................................. 14 Ilustración 13 Twitter App Términos y condiciones ...................................................................... 14 Ilustración 14 Twitter App. Nombre y descripción ...................................................................... 15 Ilustración 15 Twitter API key .......................................................................................................... 15 Ilustración 16 Twitter Access token. Creación ............................................................................. 16 Ilustración 17 Twitter Access tokens. Obtención ......................................................................... 16 Ilustración 18 Directorio local App (XAMPP) ................................................................................ 17 Ilustración 19 Archivos inicio App ................................................................................................. 17 Ilustración 20 Librería Twitter .......................................................................................................... 17 Ilustración 21 Inserción tokens & key al código .......................................................................... 18 Ilustración 22 Información URL datos Twitter ................................................................................ 18 Ilustración 23 Operación GET API Twitter ..................................................................................... 19 Ilustración 24 Certificado consultas Twitter .................................................................................. 19 Ilustración 25 Función Array almacenamiento ........................................................................... 20 Ilustración 26 Codificación JSON .................................................................................................. 20 Ilustración 27 Ítems JSON ............................................................................................................... 20 Ilustración 28 Ítems almacenados en código ............................................................................. 21 Ilustración 29 Archivos estructura aplicación .............................................................................. 21 Ilustración 30 Función geolocalización tweets ............................................................................ 22 Ilustración 31 Función número de tweets recogidos .................................................................. 22 Ilustración 32 Función credenciales app Twitter ......................................................................... 22 Ilustración 33 Función obtención datos tweets .......................................................................... 23 Ilustración 34 Código información clase tweets ......................................................................... 23 Ilustración 35 Función coordenadas ............................................................................................ 24 Ilustración 36 Llamada de la API OpenWeatherMap ................................................................ 24 Ilustración 37 Inicialización de datos en PHP geolocalización ................................................. 25 Ilustración 38 Llamada a Google API ........................................................................................... 26 Ilustración 39 Array datos del tweet según geolocalización .................................................... 26 Ilustración 40 Función que permite localizar en el mapa .......................................................... 27 Ilustración 41 Información usuario por medio de la geolocalización ...................................... 27 Ilustración 42 Función contenido de cada tweet ...................................................................... 28 Ilustración 43 Ficheros App Cliente/Servidor ............................................................................... 28

Page 35: Implementación de un sistema de obtención de tweets

M U G I 2 0 1 5 - 2 0 1 6

A R I 35

Juan Sebastián Bejarano

Juan Carlos Del Saz

Sara Diago

Andrea Meini

Saúl Soriano