Actualizado el 21 de Marzo del 2018 (Publicado el 9 de Febrero del 2018)
1.511 visualizaciones desde el 9 de Febrero del 2018
17,0 MB
81 paginas
Creado hace 8a (13/02/2017)
CAPTURA DE DATOS Y ANÁLISIS
DE RED EN TWITTER
9-2-2017 Mariluz Congosto Martínez (@congosto)
Más información en Bilbao Data Lab
http://bilbaodatalab.wikitoki.org/2017/01/31/captura-de-datos-y-analisis-de-red-en-twitter/
Objetivos del taller
Comprender el proceso de extracción de datos
en Twitter
Introducción al análisis de red
Disponer de un kit para experimentar y
profundizar en estos conceptos
9-02-2017
Mariluz Congosto Martínez
(@congosto)
2
ÍNDICE
1. VISIÓN DE CONJUNTO
2. Las APIs DE WITTER
3. TALLER: CAPTURA DE DATOS & ANÁLISIS DE RED
9-02-2017
Mariluz Congosto Martínez
(@congosto)
3
1. VISIÓN DE CONJUNTO
9-02-2017
Mariluz Congosto Martínez
Mariluz Congosto Martínez
(@congosto)
(@congosto)
4
Visión de conjunto
- Autenticación
- Apps
- APIs
- Algoritmos
9-02-2017
Mariluz Congosto Martínez
(@congosto)
5
Visión de conjunto
¿Cómo accedemos a la información del Twitter?
9-02-2017
Mariluz Congosto Martínez
(@congosto)
6
Visión de conjunto
¿Cómo funciona oAuth en Twitter?
Cliente
(app)
Dueño del
recurso
9-02-2017
Servidor
Mariluz Congosto Martínez
(@congosto)
7
Visión de conjunto
Apps en Twitter
Crear una APP
https://apps.twitter.com/
9-02-2017
Mariluz Congosto Martínez
(@congosto)
8
Para empezar
¿Qué es una Application Programming Interface?
9-02-2017
Mariluz Congosto Martínez
(@congosto)
9
Visión de conjunto
¿Qué limitaciones tienen las APIs?
9-02-2017
Mariluz Congosto Martínez
(@congosto)
10
Visión de conjunto
¿Qué es un
algoritmo?
9-02-2017
Mariluz Congosto Martínez
(@congosto)
11
Visión de conjunto
¿Qué podemos hacer con los
algoritmos?
Analizar el contenido: texto, emociones, imágenes,
vídeo
Buscar relaciones: respuestas, citas, menciones, RTs
Analizar propagaciones
Estudiar el comportamiento de usuarios: actividad,
impacto
9-02-2017
Detectar spam y noticias falsas
(@congosto)
Mariluz Congosto Martínez
12
Visión de conjunto
T-hoarder: Plataforma de recogida y análisis de tweets a largo plazo
Utiliza la API streaming
Analiza los datos en el eje
temporal, espacial y de relevancia
Es escalable en tamaño
Puede funcionar durante años
Requiere poca infraestructura SW
9-02-2017
Mariluz Congosto Martínez
(@congosto)
13
Visión de conjunto
T-hoarder: Arquitectura
9-02-2017
Mariluz Congosto Martínez
(@congosto)
14
Visión de conjunto
T-hoarder: Experimentos
9-02-2017
Mariluz Congosto Martínez
(@congosto)
http://t-hoarder.com/
15
Visión de conjunto
T-hoarder-kit : Set básico para obtener tweets
Utiliza las APIs REST y streaming
Genera ficheros gdf
Para experimentos corta duración
Entorno mínimo SW
kit
9-02-2017
Mariluz Congosto Martínez
(@congosto)
16
Algunos ejemplos
9-02-2017
Mariluz Congosto Martínez
Mariluz Congosto Martínez
(@congosto)
(@congosto)
17
Visión de conjunto
Metroaverías: un caso análisis de texto adaptado al entorno
9-02-2017
Mariluz Congosto Martínez
(@congosto)
http://t-hoarder.com/metro_madrid/
18
Visión de conjunto
Elecciones catalanas 2015: análisis de red + análisis de texto
http://www.barriblog.com/2015/09/las-elecciones-catalanas-vistas-desde-twitter/
9-02-2017
Mariluz Congosto Martínez
(@congosto)
19
Visión de conjunto
Rita Barberá : análisis de red + análisis de texto
http://www.barriblog.com/2016/11/despues-la-muerte-rita-barbera-twitter/
Mariluz Congosto Martínez
9-02-2017
(@congosto)
20
Visión de conjunto
Propagación de estereotipos
http://www.barriblog.com/2016/08/juegos-de-verano-spanish-starwars/
9-02-2017
Mariluz Congosto Martínez
(@congosto)
21
Visión de conjunto
Comportamiento de usuarios
Altavoces altos
Altavoces medios
Altavoces bajos
Networkers
Retuiteadores
Monologuistas
Replicadores
Aislados
Automáticos
Comunes
9-02-2017
Mariluz Congosto Martínez
(@congosto)
22
Visión de conjunto
Análisis de una noticia falsa (origen ruso de un HT)
http://www.barriblog.com/2016/09/desmontando-origen-ruso-del-hashtag-trumpwon
9-02-2017
Mariluz Congosto Martínez
(@congosto)
23
2. LAS APIS DE TWITTER
9-02-2017
Mariluz Congosto Martínez
Mariluz Congosto Martínez
(@congosto)
(@congosto)
24
Las APIs de Twitter
- Documentación
- Protocolo
- Formato de datos
- API REST
- API streaming
- Limitaciones
- Consola
9-02-2017
Mariluz Congosto Martínez
(@congosto)
25
Las APIs de Twitter
Documentación - Overview
9-02-2017
Mariluz Congosto Martínez
(@congosto)
https://dev.twitter.com/overview/documentation
26
Las APIs de Twitter
Documentación
oAuth
9-02-2017
Mariluz Congosto Martínez
(@congosto)
https://dev.twitter.com/oauth
27
Las APIs de Twitter
Protocolos
REST
Streaming
Cliente (app)
Get
Datos
Post
Respuesta
Twitter
(servidor)
Cliente (app)
Twitter
(servidor)
Post
Datos
Datos
Datos
9-02-2017
Mariluz Congosto Martínez
(@congosto)
…………
28
Las APIs de Twitter
Formato de los datos: JSON
¡¡Menos mal que existen
conversores a csv!!
9-02-2017
Mariluz Congosto Martínez
(@congosto)
http://www.w3schools.com/json/
29
Las APIs de Twitter
Formato de los datos: Objeto User
9-02-2017
Mariluz Congosto Martínez
(@congosto)
https://dev.twitter.com/overview/api/users
30
Las APIs de Twitter
Formato de los datos: Objeto Tweet
9-02-2017
Mariluz Congosto Martínez
(@congosto)
https://dev.twitter.com/overview/api/tweets
31
Las APIS de Twitter
API REST
9-02-2017
Mariluz Congosto Martínez
(@congosto)
https://dev.twitter.com/rest/public
32
API REST
Métodos
Las APIs de Twitter
Familias
• Search API
• Favoritos
• Statuses
• Users
• Followers
• Friends
• Friendships
• Lists
• Trends
• Help
9-02-2017
Mariluz Congosto Martínez
(@congosto)
33
Las APIs de Twitter
API REST
Query
9-02-2017
Mariluz Congosto Martínez
(@congosto)
34
Las APIs de Twitter
API REST
9-02-2017
Mariluz Congosto Martínez
(@congosto)
35
https://dev.twitter.com/rest/public/rate-limits
Las APIs de Twitter
API Streaming
9-02-2017
Mariluz Congosto Martínez
(@congosto)
https://dev.twitter.com/streaming/overview
36
Las APIs de Twitter
API Streaming
POST statuses / filter
GET statuses / sample
GET statuses / firehose
50 TWEETS/SEGUNDO
SIN LIMITE (DE PAGO)
9-02-2017
Mariluz Congosto Martínez
(@congosto)
37
Las APIs de Twitter
POST statuses / filter
Lista ID Usuarios
Lista de palabras
Lista de localizaciones
9-02-2017
Mariluz Congosto Martínez
(@congosto)
38
https://dev.twitter.com/streaming/overview/request-parameters#track
Las APIs de Twitter
Limitaciones
1. Cantidad de información
• REST: número máximo de consultas
• Streaming: máximo de 50 tuits por
cada 15 minutos
segundo
2. Historial
• REST: una semana de antigüedad
• Streaming: ninguna antigüedad
9-02-2017
Mariluz Congosto Martínez
(@congosto)
39
Las APIs de Twitter
La frecuencia importa: el efecto meseta
#7DEldebateDecisivo
API REST
9-02-2017
Mariluz Congosto Martínez
(@congosto)
API streaming
http://t-hoarder.com/7DElDebateDecisivo/
40
Las APIs de Twitter
El tiempo importa
Ahora
Histórico
1 semana
Genip
REST API (3500 últimos tuits)
REST API (search)
Streaming API
9-02-2017
Mariluz Congosto Martínez
(@congosto)
41
Las APIs de Twitter
La consola
https://dev.twitter.com/rest/tools/console
9-02-2017
Mariluz Congosto Martínez
(@congosto)
42
3. TALLER: CAPTURA DE
& ANÁLISIS DE RED
DATOS
9-02-2017
Mariluz Congosto Martínez
Mariluz Congosto Martínez
(@congosto)
(@congosto)
43
TALLER: captura de datos & análisis
- Entorno de trabajo
- Obtener las claves de acceso
- API REST: obtener perfiles de usuario, seguidores, seguidos,
tweets y consultas
- API Streaming: obtener tweets en tiempo real
- Generar un grafo y visualizar una red de relaciones
kit
9-02-2017
Mariluz Congosto Martínez
(@congosto)
44
TALLER: captura de datos & análisis
Entorno de trabajo: máquina virtual
Usuario: taller
Contraseña: tallerdatos
9-02-2017
Mariluz Congosto Martínez
(@congosto)
45
TALLER: captura de datos & análisis
Entorno de trabajo: Variables de entorno
9-02-2017
Mariluz Congosto Martínez
(@congosto)
46
TALLER: captura de datos & análisis
Entorno de trabajo: aplicaciones
Python 2.7.12
oauthlib
request_oaoutlib
six
9-02-2017
Mariluz Congosto Martínez
(@congosto)
kit
47
kit
T-hoarder kit
9-02-2017
Mariluz Congosto Martínez
Mariluz Congosto Martínez
(@congosto)
(@congosto)
48
TALLER: captura de datos & análisis
Entorno de trabajo: estructura de directorios
9-02-2017
Mariluz Congosto Martínez
(@congosto)
49
TALLER: captura de datos & análisis
Entorno de trabajo: keys
9-02-2017
Mariluz Congosto Martínez
(@congosto)
50
TALLER: captura de datos & análisis
Entorno de trabajo: scripts
9-02-2017
Mariluz Congosto Martínez
(@congosto)
51
TALLER: captura de datos & análisis
Entorno de trabajo: store/experimentos
9-02-2017
Mariluz Congosto Martínez
(@congosto)
52
TALLER: captura de datos & análisis
Entorno de trabajo: cómo ejecutar scripts python
xxx.py parámetro1 parámetro2 .. Parámetros n
Script programado en el lenguaje
Python
Parámetros del
script
9-02-2017
Mariluz Congosto Martínez
(@congosto)
53
Entorno de trabajo: menú de opciones
9-02-2017
Mariluz Congosto Martínez
(@congosto)
54
TALLER: captura de datos & análisis
Cómo crear un access token
Tener una app en twitter
Tener una cuenta de usuario
usage: tweet_auth.py [-h] keys_app user
It gets the access and secret key of a user
positional arguments:
keys_app file with keys app
user twitter user
Situarse en el directorio keys
Ejecutar tweets_auth.py
Dar permiso a la app
Introducir el pin
optional arguments:
-h, --help show this help message and exit
9-02-2017
Mariluz Congosto Martínez
(@congosto)
55
TALLER: captura de datos & análisis
Cómo crear un access token
9-02-2017
M
Comentarios de: CAPTURA DE DATOS Y ANÁLISIS DE RED EN TWITTER (0)
No hay comentarios