SlideShare una empresa de Scribd logo
1 de 87
Descargar para leer sin conexión
Obtención de datos de
redes sociales
Gonzalo Ruiz – gruiz@kampal.com
10 de marzo de 2016
Índice
• Introducción
• Técnicas y herramientas de extracción
de datos
• Ruido, técnicas de filtrado de datos
• Qué hemos hecho en Aragón Open
Social Data
• Qué ofrecemos al público
• Detección de tendencias
10 de marzo de 2016 2
Introducción
• Internet -> gran base de datos
• Desestructurada -> Redes sociales,
foros, medios de prensa, blogs, etc.
• Propuesta DGA
– Descargar todo lo relacionado con Aragón
– Ponerlo a disposición
• Ciudadanos
• Empresas
• Desarrolladores
10 de marzo de 2016 3
Para qué
• Marketing
• Prensa
• Ocio y turismo
• Imagen de marca
• Toma de decisiones estratégicas
• Tendencias
• Estudios de movilidad
• …
10 de marzo de 2016 4
Lo que vemos
10 de marzo de 2016 5
Lo que hay detrás
10 de marzo de 2016 6
El problema
• Lenguaje HTML (HyperText Markup
Language - lenguaje de marcas de
hipertexto)
• No hay un estándar de cómo estructurar
la información -> heterogeneidad
• Complicaciones -> AJAX, JavaScript
10 de marzo de 2016 7
Protocolo HTTP
• Sistema de cliente-servidor
• Petición y respuesta
• GET y POST
10 de marzo de 2016 8
URL
• http://www.nombre_del_sitio.com/funcio
n?parametro1=valor1&parametro2=valo
r2
• Ejemplo de una tienda
– Protocolo: HTTP/HTTPS
– Nombre de sitio: máquina a la que nos vamos a
conectar (DNS – Domain Name Service)
– Función: lo que queremos hacer en esa web ->
login, listar, comprar…
– Parámetros: artículo X, fecha Y…
10 de marzo de 2016 9
Otros elementos
• Cabeceras -> datos de las peticiones y
respuestas
• Autenticación (sesión)
• Códigos de respuesta
– 1XX: informativas
– 2XX: correctas
– 3XX: redirecciones
– 4XX: errores de cliente
– 5XX: errores de servidor
10 de marzo de 2016 10
Error 404
10 de marzo de 2016 11
Ejemplo de diálogo
10 de marzo de 2016 12
• http://www.mitienda.com/index.html
Petición
Respuesta
Índice
• Introducción
• Técnicas y herramientas de
extracción de datos
• Ruido, técnicas de filtrado de datos
• Qué hemos hecho en Aragon Open
Social Data
• Qué ofrecemos al público
• Detección de tendencias
10 de marzo de 2016 13
Técnicas y herramientas de
extracción de datos
• Descargar toda la información –> BD
– Herramientas que las propias páginas web
proveen
• APIs (Application Programming Interface)
• Volcados en ficheros en diferentes formatos
(CSV, XLS, JSON, XML…)
– Si no queda más remedio -> scraping
• Tratar de extraer la información del HTML
10 de marzo de 2016 14
Opción 1 - API
• Interfaz de programación de
aplicaciones
• Lenguaje intermedio -> mecanismo de
pregunta y respuesta
• La información está estructurada ->
JSON, XML…
10 de marzo de 2016 15
• http://www.mitienda.com/api/productos
Ejemplo
10 de marzo de 2016 16
JSON XML
API
10 de marzo de 2016 17
API
• Ejemplos
– Twitter
– Facebook
– Youtube
– Instagram
– …
• Problemas
– Límites técnicos
– Límites legales
– Oscurantismo (empresas, malfuncionamiento…)
10 de marzo de 2016 18
Tipos de API
• Tradicional
– Pregunta respuesta
– La mayoría
• Streaming
– Conexión permanente
– Algunas como Twitter
10 de marzo de 2016 19
Opción 2 - Ficheros
• Muy comunes en la administración
• Suelen estar bien estructurados -> XLS,
CSV…
• Generalmente, para información estática
– Tráfico
– Padrón
– Turismo
– INEM
– …
• Descargar y procesar
10 de marzo de 2016 20
Ficheros
10 de marzo de 2016 21
Opción 3 - scraping
• Cuando no hay otra alternativa
• Técnica para extraer datos de sitios web a
través de programas
– Ingeniería inversa
• Qué parámetros envía
• Estudiar cómo se estructura la información
• Secuencia de peticiones y reusar datos de las
respuestas
• Estudiar el comportamiento dinámico de la web
• Visitar muchas páginas para conseguir todos los
datos
10 de marzo de 2016 22
Ejemplo
10 de marzo de 2016 23
Ejemplo
10 de marzo de 2016 24
Comportamiento dinámico
10 de marzo de 2016 25
Parseo
10 de marzo de 2016 26
• Convertir HTML en algo manejable ->
errores
Diferencias
• Si lo hiciéramos manuealmente
– API: www.mitienda.com/productos
– Volcado:
www.mitienda.com/descargar_productos
– Scraping:
1. www.mitienda.com/listado -> parseo -> buscar y
extraer identificadores de productos
2. www.mitienda.com/productos?id1 -> parseo ->
buscar y extraer datos
www.mitienda.com/productos?id=2 -> parseo ->
buscar y extraer datos
www.mitienda.com/productos?id=3 -> parseo ->
buscar y extraer datos
…
10 de marzo de 2016 27
WEB scrapers/crawlers
• Programas que simulan las visitas que
muchos usuarios harían
• “Engañan” a los servidores haciéndoles
creer que son usuarios
• Pero no son tontos
– Cuestiones legales
– Límites
• Número de páginas vistas
• Por tiempo
• …
10 de marzo de 2016 28
Tecnologías
• Existen multitud de herramientas en
distintos lenguajes de programación (Java,
Python, Ruby, …)
• Necesitamos esencialmente
– Herramienta para la conexión (urllib,
requests…)
– Herramienta para parseo y extracción de datos
• HTML y XML (Beautifulsoup, lxml…)
• JSON (json, simplejson)
– Almacenamiento de datos en ficheros, bases de
datos, … -> Con la estructura que nosotros
queramos
10 de marzo de 2016 29
Dificultades
• Mecanismos de “defensa”
– Autenticación – cookies de sesión
– Formularios y parámetros especiales
– Enviar cabeceras especiales
– Límites
– Captchas
– Contenido dinámico
• A veces no es posible (o es muy difícil)
emular el navegador (contenido dinámico,
actualizaciones) -> utilizar un webdriver
10 de marzo de 2016 30
Webdriver - Selenium
• Abre y controla una ventana de navegador
como si fuera un usuario
• Simula clicks, eventos del ratón,
pulsaciones de teclas, etc.
• Podemos especificarle una secuencia:
1. Conéctate a www.mitienda.com
2. Rellena y envía el formulario de login
3. Ve al listado de productos
4. Entra en todos los productos y descárgame
sus datos
10 de marzo de 2016 31
Curiosidad
• Buenas prácticas
– Mira el robots.txt de los sitios que vayas a scrapear
• Honestamente, habría que mirar también las cabeceras x-
robots en HTTP y las tag robots en el HTML
– Controla la velocidad. Si el sitio va lento, baja la
presión
– Y al revés, para más velocidad usa múltiples IPs,
varios scrapers, lanza proxies en la nube…
– No mientas en el UserAgent e indica al sysadmin
una forma de contactarte: email, web…
10 de marzo de 2016 32
Para qué se usa
10 de marzo de 2016 33
Índice
• Introducción
• Técnicas y herramientas de extracción de
datos
• Ruido, técnicas de filtrado de datos
• Qué hemos hecho en Aragón Open Social
Data
• Qué ofrecemos al público
• Detección de tendencias
10 de marzo de 2016 34
El ruido
• El mismo concepto que con el sonido
• Sabemos cómo descargar, pero
– ¿qué descargamos?
– ¿cómo sabemos lo que realmente nos interesa
y lo que no?
• Definir unos buenos criterios de búsqueda
– Palabras clave
– Fechas
– Geoposición
– …
10 de marzo de 2016 35
Ejemplos
10 de marzo de 2016 36
Prevenir
• Mayor parte -> Búsqueda por palabras
– No seleccionar muchas palabras
• Cuantas más palabras, peor
• Atención a los límites
• Directamente relacionadas -> exclusividad
– Combinar palabras
• Ej: “corte” vs. “corte de luz”
– Que estén directamente relacionadas con lo
que queremos encontrar
• Ej: apagón
– Que no sean demasiado cortas
• Evitar confusiones
10 de marzo de 2016 37
Curar
• Técnicas de filtrado -> a posteriori
(imposible hacerlo a mano)
– Identificación del idioma
– Evitar ciertas palabras
• Si aparece junto con otra palabra -> Eliminar
– Blacklists and whitelists dinámicas ->
palabras y/o usuarios
– Cuidado con los spammers
10 de marzo de 2016 38
Spammers
• Aprovechan los trending topics para
hacer publicidad
10 de marzo de 2016 39
Índice
• Introducción
• Técnicas y herramientas de extracción
de datos
• Ruido, técnicas de filtrado de datos
• Qué hemos hecho en Aragon
Open Social Data
• Qué ofrecemos al público
• Detección de tendencias
10 de marzo de 2016 40
Qué hemos hecho en Aragón
Open Social Data
• ¿De qué se habla en Aragón?
• ¿Qué es importante para los
aragoneses?
• ¿Qué puede resultar interesante para los
aragoneses?
• ¿En qué se diferencian los
aragoneses del resto de
España?
10 de marzo de 2016 41
Qué fuentes capturamos
• Eventos: Facebook Events, Spain-info
• Texto: Twitter, Facebook, Google+, Blogger,
Blogia, Wordpress
• Wiki: Wikipedia
• Video: Youtube, Vimeo
• Imágenes: Instagram, Flickr, Pinterest
• Lugares: Foursquare
• Código: Github
• Prensa: Heraldo de Aragón, El Periódico de
Aragón, Diario del Alto Aragón, Diario de Teruel
10 de marzo de 2016 42
Qué datos capturamos
• Siempre datos públicos
• Que cualquier usuario puede encontrar
por sus propios medios
• Se puede controlar el contenido:
– por la URL
– por el autor
• Un usuario puede solicitar dejar de ser
escuchado
10 de marzo de 2016 43
Criterios de captura
• Geoposición
– Dentro de Aragón
– Zonas colindantes
– Nombres de municipios
• Palabras/usuarios clave
– Temas de interés
– Usuarios relevantes para Aragón
– Se realimentan y actualizan con los datos
geoposicionados
10 de marzo de 2016 44
Temas de interés
10 de marzo de 2016 45
Temas de interés
10 de marzo de 2016 46
10 de marzo de 2016 47
Cómo se captura
• Normalmente el usuario ve la
información a través de un navegador
• Necesitamos capturar grandes
volúmenes de información constante
• Filtrado por diferentes criterios
• Herramientas que las redes sociales y
otras webs proveen y scraping
• Límites de las fuentes
10 de marzo de 2016 48
Cómo se captura
• Robots, arañas, web crawlers,
scrapers…
• Simulan las visitas que muchos
usuarios harían
• Cada uno se ocupa de una tarea
– Una red social
– Sólo cierta información
• Centralizan la información
– Filtran y “uniformizan”
10 de marzo de 2016 49
Cómo se filtra
• Se solicitan sólo los campos que nos interesan,
se eliminan el resto
• 2 tipos: streaming o periódicas
• Las arañas no saben qué contenido es bueno o
malo
– Se captura mucho ruido, especialmenteal buscar
por palabra clave
– No se deben de usar palabras demasiado cortas o
sin significado (preposiciones, artículos…)
– Hay que tener cuidado con otros idiomas. Ej: CAI,
USJ
10 de marzo de 2016 50
Cómo se almacena
• Todos los datos son guardados en una
base de datos distribuida
• La cantidad de información capturada
es importante
• En torno a 30 GB al mes, que se reducen
a unos 3 GBs al filtrar
• Alrededor de 1.000.000 de entradas al
mes entre vídeos, fotos, mensajes, etc.
10 de marzo de 2016 51
Procesamiento
• Detección de idioma
• Se almacena el criterio que ha hecho que
cierto contenido se capture
• Se calculan ciertos parámetros en base a
los datos capturados:
– Apariciones por cada 1000 palabras de dentro
y fuera de Aragón:
• Temas de interés dentro de Aragón
• Diferenciales
• Acumulados por 30, 60 y 90 días
10 de marzo de 2016 52
Cómo se accede a la
información
• Creamos una API
10 de marzo de 2016 53
Cómo funciona
10 de marzo de 2016 54
Arquitectura
31 de octubre de 2014 55
Panel de control
10 de marzo de 2016 56
Panel de control
10 de marzo de 2016 57
Monitorización
10 de marzo de 2016 58
Monitorización
10 de marzo de 2016 59
Monitorización
10 de marzo de 2016 60
Monitorización
10 de marzo de 2016 61
Qué ofrecemos al público
• LO QUE NOS GUSTARÍA TENER
• Una API que permite acceder a los
datos recogidos y filtrados
• Totalmente pública, sin necesidad de
registro (aunque con algún límite)
• Se pueden acceder a los datos antiguos
hasta 12 meses (por el momento
disponemos desde diciembre de 2013)
10 de marzo de 2016 62
Cómo usar nuestra API
• Peticiones HTTP como las que hace
cualquier navegador
• El usuario sólo tiene que indicar qué datos
desea obtener y cómo los quiere filtrar
– Dirección (/trendings o /data)
– Parámetros (?source=twitter)
• Librerías en distintos lenguajes que hacen
muy sencillo su uso
10 de marzo de 2016 63
Qué formato tienen los resultados
• Actualmente en formato JSON
• Los resultados aparecen paginados
• Ordenados cronológicamente
10 de marzo de 2016 64
Tendencias
• http://opendata.aragon.es/socialdata/trendings
– {"status": "OK", "results": [result_1, result_2,
result_3...]}
– Results: {"name": name, "url": url}
• /socialdata/trendings?type=aragon
• /socialdata/trendings?type=spain
• /socialdata/trendings?type=30days
• /socialdata/trendings?type=60days
• /socialdata/trendings?type=90days
• /socialdata/trendings?type=diff
10 de marzo de 2016 65
Contenido
• http://opendata.aragon.es/socialdata/data?
parameters
– {"status": "NOK", "error_message": message}
– {"status": "OK", "on_this_page": on_this_page,
"results":[result_1, result_2, result_3...]}
– {"id": id,"description": description, "ends_on":
ends_on, "lat": latitude, "lng": longitude,
"published_on": published_on, "title": title, "url":
url, "author": author,"starts_on": starts_on,
"source": source, "type": type,
"thumbnail":thumbnail}
10 de marzo de 2016 66
Contenido
• id: entero identificativo del elemento.
• type: cadena que indica el tipo de contenido.
• source: cadena de texto que indica a qué fuente pertenece el resultado.
• title: cadena con el título del contenido en el caso de que lo tenga.
• description: contenido del elemento (texto del tweet, descripción del
evento, descripción del vídeo, etc.)
• url: dirección url directa al contenido.
• author: cadena de texto con el nombre del autor en caso de que lo haya.
• starts_on: para los eventos, si la tuvieran, fecha de comienzo.
• ends_on: para los eventos, si la tuvieran, fecha de final.
• published_on: fecha de publicación del contenido.
• lat: latitud del contenido en formato real.
• lng: longitud del contenido en formato real.
• thumbnail: dirección url del thumbnail asociado si lo hubiera.
10 de marzo de 2016 67
Contenido
• Dos tipos de paginación:
– Estándar (máx. 1000)
– since_id & max_id
• Todas las fechas tienen el formato: 16/01/14
13:03
• Se puede especificar que la API devuelva los
datos en crudo con el parámetro raw_mode
– /socialdata/data?source=twitter&raw_mode=true
– Nuevo campo en los resultados llamado raw_data
10 de marzo de 2016 68
Cómo podemos filtrarla
• Por tipo de contenido
• Por fuente
• Por conversación
• Por geoposición
• Por período
• Por palabra clave
10 de marzo de 2016 69
Filtro por tipo de contenido
• /socialdata/data?type=content_type
– event (Facebook Events, Spain-info)
– text (Twitter, Facebook, Google+, Blogger, Blogia,
Wordpress)
– wiki (Wikipedia)
– video (Youtube, Vimeo)
– picture (Instagram, Flickr, Pinterest)
– venue (Foursquare)
– code (Github)
– media (Heraldo de Aragón, El Periódico de Aragón,
Diario del Alto Aragón, Diario de Teruel)
10 de marzo de 2016 70
Filtro por fuente
• /socialdata/data?source=source_name
– spain_info
– facebook_events
– twitter
– youtube
– instagram
– facebook
– wikipedia
– blogger
– wordpress
– blogia
– vimeo
– flickr
– foursquare
– pinterest
– google_plus
– github
– heraldodearagon
– periodicodearagon
– diariodelaltoaragon
– diariodeteruel
10 de marzo de 2016 71
Filtro por conversación
• /socialdata/data?conversat
ion=conversation_type
– geo: conversación sobre lo
que se habla dentro de
Aragón
– rel: conversación de temas y
usuarios relevantes para
Aragón
10 de marzo de 2016 72
Filtro por geoposición
• Filtrado por centro y radio
– /socialdata/data?center=coordinates&distance=distance_in_k
m
– /socialdata/data?center=41.35678,-0.8148576&distance=5
• Filtrado por cuadrado geográfico
– /socialdata/data?bbox=min_lng,min_lat,man_lng,max_lat
– /socialdata/data?bbox=-0.8148576,41.35678,-
0.667584,41.78553
• Filtrado por municipio y radio
– /socialdata/data?locality=locality&distance=distance_in_km
– /socialdata/data?locality=Zaragoza&distance=5
• Sólo datos geolocalizados:
– /socialdata/data?source=twitter&geolocated=true
10 de marzo de 2016 73
Otros filtros
• Por período:
– /socialdata/data?start_date=start_date&end
_date=end_date
• Por palabra clave:
– /socialdata/data?query=query
• Combinaciones!
10 de marzo de 2016 74
Ejemplo de uso
10 de marzo de 2016 75
https://github.com/albertoalcolea/charla-scraping
Ejemplo de resultados
10 de marzo de 2016 76
Qué puedo hacer con estos datos
10 de marzo de 2016 77
Jacathon
10 de marzo de 2016 78
Índice
• Introducción
• Técnicas y herramientas de extracción
de datos
• Ruido, técnicas de filtrado de datos
• Qué hemos hecho en Aragon Open
Social Data
• Qué ofrecemos al público
• Detección de tendencias
10 de marzo de 2016 79
Detección de tendencias
• Volumen de tráfico en redes sociales
(twitter, facebook, youtube…)
• Volumen de descargas y compras
(iTunes, Amazon, Spotify, Google Play…)
• Valoraciones
• Charts, top lists (Emisoras de radio,
foros…)
• Volumen de búsquedas (Google)
10 de marzo de 2016 80
Qué es un trending topic
• Tendencia o tema del
momento
• Palabras o frases más
repetidas en un
momento concreto en
Twitter
• Origen en los hashtag ->
#etiqueta
• 2 objetivos principales:
– Promoción
– Movilización
10 de marzo de 2016 81
Cómo se detecta
• Algoritmo que pesa los términos
– Apariciones
– Novedad de los términos
• Hay temas de los que siempre se habla mucho -
> no son trending topics. Ej: Justin Bieber
• Algunos de los más importantes:
– Wikileaks
– Primavera Árabe
– AcampadaSol
– Muerte de Michael Jackson
– Muerte de Steve Jobs
10 de marzo de 2016 82
Diferencia
10 de marzo de 2016 83
Robots y spam
• Aprovechan estas tendencias para hacer
publicidad
• Tienen robots similares a los nuestros
– Calculan sus propias tendencias
– Utilizan las de las redes sociales
• Incluyen sus propios hashtags, enlaces,
etc.
• No tienen interacción con otros usuarios
10 de marzo de 2016 84
Spammers
10 de marzo de 2016 85
Bola de nieve
• Hacemos detección de tendencias
– Muy costoso -> guardar mucha información,
hacer muchos cálculos periódicamente…
– Lista fija inicial -> perderíamos mucha
información
• Además de las palabras clave iniciales -
> retroalimentación
– Coge nuevas palabras
– Elimina algunas viejas
10 de marzo de 2016 86
Enlaces
• http://opendata.aragon.es/
• http://opendata.aragon.es/portal/social-
data
• http://opendata.aragon.es/portal/desarrol
ladores/resumen
10 de marzo de 2016 87

Más contenido relacionado

Similar a Obtención de datos de redes sociales

Que es social media analytics & listening y como funcionan
Que es social media analytics & listening y como funcionanQue es social media analytics & listening y como funcionan
Que es social media analytics & listening y como funcionanOscar Gonzalez Rezex
 
Manual completisimo de google
Manual completisimo de googleManual completisimo de google
Manual completisimo de googleInfoMaster
 
Buscadores metabuscadores y navegadores
Buscadores metabuscadores y navegadoresBuscadores metabuscadores y navegadores
Buscadores metabuscadores y navegadoresNadia HCh
 
Alberto Fernández - Posicionamiento en Buscadores SEO
Alberto Fernández - Posicionamiento en Buscadores SEOAlberto Fernández - Posicionamiento en Buscadores SEO
Alberto Fernández - Posicionamiento en Buscadores SEOCerem Business School
 
El uso de la internet para la búsqueda de información
El uso de la internet para la búsqueda de informaciónEl uso de la internet para la búsqueda de información
El uso de la internet para la búsqueda de informaciónsalgonsan
 
BuscadoresAcademicos_2009.ppt
BuscadoresAcademicos_2009.pptBuscadoresAcademicos_2009.ppt
BuscadoresAcademicos_2009.pptDorisSilva12
 
Búsqueda avanzada de información
Búsqueda avanzada de informaciónBúsqueda avanzada de información
Búsqueda avanzada de informaciónVirginia Sánchez
 
Madurez de la Analítica en el Ecosistema Empresarial Colombiano
Madurez de la Analítica en el Ecosistema Empresarial ColombianoMadurez de la Analítica en el Ecosistema Empresarial Colombiano
Madurez de la Analítica en el Ecosistema Empresarial ColombianoMultiplica
 
Vigilancia 2.0
Vigilancia 2.0Vigilancia 2.0
Vigilancia 2.0lara.rey
 
Vigilancia Tecnologica 2.0
Vigilancia Tecnologica 2.0Vigilancia Tecnologica 2.0
Vigilancia Tecnologica 2.0lara.rey
 
#Aprender3C - Métricas y estadísticas en Repositorios y Bibliotecas Digitales
#Aprender3C - Métricas y estadísticas en Repositorios y Bibliotecas Digitales#Aprender3C - Métricas y estadísticas en Repositorios y Bibliotecas Digitales
#Aprender3C - Métricas y estadísticas en Repositorios y Bibliotecas DigitalesAprender 3C
 
All in one OSINT
All in one OSINTAll in one OSINT
All in one OSINTQuantiKa14
 
Estrategias Web del Comunity Manager, #mooc @MiriadaX
Estrategias Web del Comunity Manager, #mooc @MiriadaXEstrategias Web del Comunity Manager, #mooc @MiriadaX
Estrategias Web del Comunity Manager, #mooc @MiriadaXRosa Mª González
 
¿Cómo funciona internet y los motores de búsqueda?
¿Cómo funciona internet y los motores de búsqueda? ¿Cómo funciona internet y los motores de búsqueda?
¿Cómo funciona internet y los motores de búsqueda? JulioAlonso35
 
Búsqueda y recuperación de información en internet
Búsqueda y recuperación de información en internetBúsqueda y recuperación de información en internet
Búsqueda y recuperación de información en internetSabdiel Batista Díaz
 
Experiencias con Neo4j en InfoJobs
Experiencias con Neo4j en InfoJobsExperiencias con Neo4j en InfoJobs
Experiencias con Neo4j en InfoJobsMarc Pou i Miquel
 
Universidad minuto de dios
Universidad minuto de diosUniversidad minuto de dios
Universidad minuto de dioszerrato
 

Similar a Obtención de datos de redes sociales (20)

Que es social media analytics & listening y como funcionan
Que es social media analytics & listening y como funcionanQue es social media analytics & listening y como funcionan
Que es social media analytics & listening y como funcionan
 
Manual completisimo de google
Manual completisimo de googleManual completisimo de google
Manual completisimo de google
 
Plan de busqueda en internet
Plan de busqueda en internetPlan de busqueda en internet
Plan de busqueda en internet
 
Buscadores metabuscadores y navegadores
Buscadores metabuscadores y navegadoresBuscadores metabuscadores y navegadores
Buscadores metabuscadores y navegadores
 
Alberto Fernández - Posicionamiento en Buscadores SEO
Alberto Fernández - Posicionamiento en Buscadores SEOAlberto Fernández - Posicionamiento en Buscadores SEO
Alberto Fernández - Posicionamiento en Buscadores SEO
 
El uso de la internet para la búsqueda de información
El uso de la internet para la búsqueda de informaciónEl uso de la internet para la búsqueda de información
El uso de la internet para la búsqueda de información
 
BuscadoresAcademicos_2009.ppt
BuscadoresAcademicos_2009.pptBuscadoresAcademicos_2009.ppt
BuscadoresAcademicos_2009.ppt
 
Búsqueda avanzada de información
Búsqueda avanzada de informaciónBúsqueda avanzada de información
Búsqueda avanzada de información
 
Ii curso oficial de coolhunting marzo 11
Ii curso oficial de coolhunting   marzo 11Ii curso oficial de coolhunting   marzo 11
Ii curso oficial de coolhunting marzo 11
 
Madurez de la Analítica en el Ecosistema Empresarial Colombiano
Madurez de la Analítica en el Ecosistema Empresarial ColombianoMadurez de la Analítica en el Ecosistema Empresarial Colombiano
Madurez de la Analítica en el Ecosistema Empresarial Colombiano
 
Vigilancia 2.0
Vigilancia 2.0Vigilancia 2.0
Vigilancia 2.0
 
Vigilancia Tecnologica 2.0
Vigilancia Tecnologica 2.0Vigilancia Tecnologica 2.0
Vigilancia Tecnologica 2.0
 
#Aprender3C - Métricas y estadísticas en Repositorios y Bibliotecas Digitales
#Aprender3C - Métricas y estadísticas en Repositorios y Bibliotecas Digitales#Aprender3C - Métricas y estadísticas en Repositorios y Bibliotecas Digitales
#Aprender3C - Métricas y estadísticas en Repositorios y Bibliotecas Digitales
 
All in one OSINT
All in one OSINTAll in one OSINT
All in one OSINT
 
Estrategias Web del Comunity Manager, #mooc @MiriadaX
Estrategias Web del Comunity Manager, #mooc @MiriadaXEstrategias Web del Comunity Manager, #mooc @MiriadaX
Estrategias Web del Comunity Manager, #mooc @MiriadaX
 
¿Cómo funciona internet y los motores de búsqueda?
¿Cómo funciona internet y los motores de búsqueda? ¿Cómo funciona internet y los motores de búsqueda?
¿Cómo funciona internet y los motores de búsqueda?
 
Búsqueda y recuperación de información en internet
Búsqueda y recuperación de información en internetBúsqueda y recuperación de información en internet
Búsqueda y recuperación de información en internet
 
Experiencias con Neo4j en InfoJobs
Experiencias con Neo4j en InfoJobsExperiencias con Neo4j en InfoJobs
Experiencias con Neo4j en InfoJobs
 
Universidad minuto de dios
Universidad minuto de diosUniversidad minuto de dios
Universidad minuto de dios
 
La información digital
La información digitalLa información digital
La información digital
 

Último

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 

Último (15)

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 

Obtención de datos de redes sociales

  • 1. Obtención de datos de redes sociales Gonzalo Ruiz – gruiz@kampal.com 10 de marzo de 2016
  • 2. Índice • Introducción • Técnicas y herramientas de extracción de datos • Ruido, técnicas de filtrado de datos • Qué hemos hecho en Aragón Open Social Data • Qué ofrecemos al público • Detección de tendencias 10 de marzo de 2016 2
  • 3. Introducción • Internet -> gran base de datos • Desestructurada -> Redes sociales, foros, medios de prensa, blogs, etc. • Propuesta DGA – Descargar todo lo relacionado con Aragón – Ponerlo a disposición • Ciudadanos • Empresas • Desarrolladores 10 de marzo de 2016 3
  • 4. Para qué • Marketing • Prensa • Ocio y turismo • Imagen de marca • Toma de decisiones estratégicas • Tendencias • Estudios de movilidad • … 10 de marzo de 2016 4
  • 5. Lo que vemos 10 de marzo de 2016 5
  • 6. Lo que hay detrás 10 de marzo de 2016 6
  • 7. El problema • Lenguaje HTML (HyperText Markup Language - lenguaje de marcas de hipertexto) • No hay un estándar de cómo estructurar la información -> heterogeneidad • Complicaciones -> AJAX, JavaScript 10 de marzo de 2016 7
  • 8. Protocolo HTTP • Sistema de cliente-servidor • Petición y respuesta • GET y POST 10 de marzo de 2016 8
  • 9. URL • http://www.nombre_del_sitio.com/funcio n?parametro1=valor1&parametro2=valo r2 • Ejemplo de una tienda – Protocolo: HTTP/HTTPS – Nombre de sitio: máquina a la que nos vamos a conectar (DNS – Domain Name Service) – Función: lo que queremos hacer en esa web -> login, listar, comprar… – Parámetros: artículo X, fecha Y… 10 de marzo de 2016 9
  • 10. Otros elementos • Cabeceras -> datos de las peticiones y respuestas • Autenticación (sesión) • Códigos de respuesta – 1XX: informativas – 2XX: correctas – 3XX: redirecciones – 4XX: errores de cliente – 5XX: errores de servidor 10 de marzo de 2016 10
  • 11. Error 404 10 de marzo de 2016 11
  • 12. Ejemplo de diálogo 10 de marzo de 2016 12 • http://www.mitienda.com/index.html Petición Respuesta
  • 13. Índice • Introducción • Técnicas y herramientas de extracción de datos • Ruido, técnicas de filtrado de datos • Qué hemos hecho en Aragon Open Social Data • Qué ofrecemos al público • Detección de tendencias 10 de marzo de 2016 13
  • 14. Técnicas y herramientas de extracción de datos • Descargar toda la información –> BD – Herramientas que las propias páginas web proveen • APIs (Application Programming Interface) • Volcados en ficheros en diferentes formatos (CSV, XLS, JSON, XML…) – Si no queda más remedio -> scraping • Tratar de extraer la información del HTML 10 de marzo de 2016 14
  • 15. Opción 1 - API • Interfaz de programación de aplicaciones • Lenguaje intermedio -> mecanismo de pregunta y respuesta • La información está estructurada -> JSON, XML… 10 de marzo de 2016 15
  • 17. API 10 de marzo de 2016 17
  • 18. API • Ejemplos – Twitter – Facebook – Youtube – Instagram – … • Problemas – Límites técnicos – Límites legales – Oscurantismo (empresas, malfuncionamiento…) 10 de marzo de 2016 18
  • 19. Tipos de API • Tradicional – Pregunta respuesta – La mayoría • Streaming – Conexión permanente – Algunas como Twitter 10 de marzo de 2016 19
  • 20. Opción 2 - Ficheros • Muy comunes en la administración • Suelen estar bien estructurados -> XLS, CSV… • Generalmente, para información estática – Tráfico – Padrón – Turismo – INEM – … • Descargar y procesar 10 de marzo de 2016 20
  • 21. Ficheros 10 de marzo de 2016 21
  • 22. Opción 3 - scraping • Cuando no hay otra alternativa • Técnica para extraer datos de sitios web a través de programas – Ingeniería inversa • Qué parámetros envía • Estudiar cómo se estructura la información • Secuencia de peticiones y reusar datos de las respuestas • Estudiar el comportamiento dinámico de la web • Visitar muchas páginas para conseguir todos los datos 10 de marzo de 2016 22
  • 23. Ejemplo 10 de marzo de 2016 23
  • 24. Ejemplo 10 de marzo de 2016 24
  • 25. Comportamiento dinámico 10 de marzo de 2016 25
  • 26. Parseo 10 de marzo de 2016 26 • Convertir HTML en algo manejable -> errores
  • 27. Diferencias • Si lo hiciéramos manuealmente – API: www.mitienda.com/productos – Volcado: www.mitienda.com/descargar_productos – Scraping: 1. www.mitienda.com/listado -> parseo -> buscar y extraer identificadores de productos 2. www.mitienda.com/productos?id1 -> parseo -> buscar y extraer datos www.mitienda.com/productos?id=2 -> parseo -> buscar y extraer datos www.mitienda.com/productos?id=3 -> parseo -> buscar y extraer datos … 10 de marzo de 2016 27
  • 28. WEB scrapers/crawlers • Programas que simulan las visitas que muchos usuarios harían • “Engañan” a los servidores haciéndoles creer que son usuarios • Pero no son tontos – Cuestiones legales – Límites • Número de páginas vistas • Por tiempo • … 10 de marzo de 2016 28
  • 29. Tecnologías • Existen multitud de herramientas en distintos lenguajes de programación (Java, Python, Ruby, …) • Necesitamos esencialmente – Herramienta para la conexión (urllib, requests…) – Herramienta para parseo y extracción de datos • HTML y XML (Beautifulsoup, lxml…) • JSON (json, simplejson) – Almacenamiento de datos en ficheros, bases de datos, … -> Con la estructura que nosotros queramos 10 de marzo de 2016 29
  • 30. Dificultades • Mecanismos de “defensa” – Autenticación – cookies de sesión – Formularios y parámetros especiales – Enviar cabeceras especiales – Límites – Captchas – Contenido dinámico • A veces no es posible (o es muy difícil) emular el navegador (contenido dinámico, actualizaciones) -> utilizar un webdriver 10 de marzo de 2016 30
  • 31. Webdriver - Selenium • Abre y controla una ventana de navegador como si fuera un usuario • Simula clicks, eventos del ratón, pulsaciones de teclas, etc. • Podemos especificarle una secuencia: 1. Conéctate a www.mitienda.com 2. Rellena y envía el formulario de login 3. Ve al listado de productos 4. Entra en todos los productos y descárgame sus datos 10 de marzo de 2016 31
  • 32. Curiosidad • Buenas prácticas – Mira el robots.txt de los sitios que vayas a scrapear • Honestamente, habría que mirar también las cabeceras x- robots en HTTP y las tag robots en el HTML – Controla la velocidad. Si el sitio va lento, baja la presión – Y al revés, para más velocidad usa múltiples IPs, varios scrapers, lanza proxies en la nube… – No mientas en el UserAgent e indica al sysadmin una forma de contactarte: email, web… 10 de marzo de 2016 32
  • 33. Para qué se usa 10 de marzo de 2016 33
  • 34. Índice • Introducción • Técnicas y herramientas de extracción de datos • Ruido, técnicas de filtrado de datos • Qué hemos hecho en Aragón Open Social Data • Qué ofrecemos al público • Detección de tendencias 10 de marzo de 2016 34
  • 35. El ruido • El mismo concepto que con el sonido • Sabemos cómo descargar, pero – ¿qué descargamos? – ¿cómo sabemos lo que realmente nos interesa y lo que no? • Definir unos buenos criterios de búsqueda – Palabras clave – Fechas – Geoposición – … 10 de marzo de 2016 35
  • 36. Ejemplos 10 de marzo de 2016 36
  • 37. Prevenir • Mayor parte -> Búsqueda por palabras – No seleccionar muchas palabras • Cuantas más palabras, peor • Atención a los límites • Directamente relacionadas -> exclusividad – Combinar palabras • Ej: “corte” vs. “corte de luz” – Que estén directamente relacionadas con lo que queremos encontrar • Ej: apagón – Que no sean demasiado cortas • Evitar confusiones 10 de marzo de 2016 37
  • 38. Curar • Técnicas de filtrado -> a posteriori (imposible hacerlo a mano) – Identificación del idioma – Evitar ciertas palabras • Si aparece junto con otra palabra -> Eliminar – Blacklists and whitelists dinámicas -> palabras y/o usuarios – Cuidado con los spammers 10 de marzo de 2016 38
  • 39. Spammers • Aprovechan los trending topics para hacer publicidad 10 de marzo de 2016 39
  • 40. Índice • Introducción • Técnicas y herramientas de extracción de datos • Ruido, técnicas de filtrado de datos • Qué hemos hecho en Aragon Open Social Data • Qué ofrecemos al público • Detección de tendencias 10 de marzo de 2016 40
  • 41. Qué hemos hecho en Aragón Open Social Data • ¿De qué se habla en Aragón? • ¿Qué es importante para los aragoneses? • ¿Qué puede resultar interesante para los aragoneses? • ¿En qué se diferencian los aragoneses del resto de España? 10 de marzo de 2016 41
  • 42. Qué fuentes capturamos • Eventos: Facebook Events, Spain-info • Texto: Twitter, Facebook, Google+, Blogger, Blogia, Wordpress • Wiki: Wikipedia • Video: Youtube, Vimeo • Imágenes: Instagram, Flickr, Pinterest • Lugares: Foursquare • Código: Github • Prensa: Heraldo de Aragón, El Periódico de Aragón, Diario del Alto Aragón, Diario de Teruel 10 de marzo de 2016 42
  • 43. Qué datos capturamos • Siempre datos públicos • Que cualquier usuario puede encontrar por sus propios medios • Se puede controlar el contenido: – por la URL – por el autor • Un usuario puede solicitar dejar de ser escuchado 10 de marzo de 2016 43
  • 44. Criterios de captura • Geoposición – Dentro de Aragón – Zonas colindantes – Nombres de municipios • Palabras/usuarios clave – Temas de interés – Usuarios relevantes para Aragón – Se realimentan y actualizan con los datos geoposicionados 10 de marzo de 2016 44
  • 45. Temas de interés 10 de marzo de 2016 45
  • 46. Temas de interés 10 de marzo de 2016 46
  • 47. 10 de marzo de 2016 47
  • 48. Cómo se captura • Normalmente el usuario ve la información a través de un navegador • Necesitamos capturar grandes volúmenes de información constante • Filtrado por diferentes criterios • Herramientas que las redes sociales y otras webs proveen y scraping • Límites de las fuentes 10 de marzo de 2016 48
  • 49. Cómo se captura • Robots, arañas, web crawlers, scrapers… • Simulan las visitas que muchos usuarios harían • Cada uno se ocupa de una tarea – Una red social – Sólo cierta información • Centralizan la información – Filtran y “uniformizan” 10 de marzo de 2016 49
  • 50. Cómo se filtra • Se solicitan sólo los campos que nos interesan, se eliminan el resto • 2 tipos: streaming o periódicas • Las arañas no saben qué contenido es bueno o malo – Se captura mucho ruido, especialmenteal buscar por palabra clave – No se deben de usar palabras demasiado cortas o sin significado (preposiciones, artículos…) – Hay que tener cuidado con otros idiomas. Ej: CAI, USJ 10 de marzo de 2016 50
  • 51. Cómo se almacena • Todos los datos son guardados en una base de datos distribuida • La cantidad de información capturada es importante • En torno a 30 GB al mes, que se reducen a unos 3 GBs al filtrar • Alrededor de 1.000.000 de entradas al mes entre vídeos, fotos, mensajes, etc. 10 de marzo de 2016 51
  • 52. Procesamiento • Detección de idioma • Se almacena el criterio que ha hecho que cierto contenido se capture • Se calculan ciertos parámetros en base a los datos capturados: – Apariciones por cada 1000 palabras de dentro y fuera de Aragón: • Temas de interés dentro de Aragón • Diferenciales • Acumulados por 30, 60 y 90 días 10 de marzo de 2016 52
  • 53. Cómo se accede a la información • Creamos una API 10 de marzo de 2016 53
  • 54. Cómo funciona 10 de marzo de 2016 54
  • 56. Panel de control 10 de marzo de 2016 56
  • 57. Panel de control 10 de marzo de 2016 57
  • 62. Qué ofrecemos al público • LO QUE NOS GUSTARÍA TENER • Una API que permite acceder a los datos recogidos y filtrados • Totalmente pública, sin necesidad de registro (aunque con algún límite) • Se pueden acceder a los datos antiguos hasta 12 meses (por el momento disponemos desde diciembre de 2013) 10 de marzo de 2016 62
  • 63. Cómo usar nuestra API • Peticiones HTTP como las que hace cualquier navegador • El usuario sólo tiene que indicar qué datos desea obtener y cómo los quiere filtrar – Dirección (/trendings o /data) – Parámetros (?source=twitter) • Librerías en distintos lenguajes que hacen muy sencillo su uso 10 de marzo de 2016 63
  • 64. Qué formato tienen los resultados • Actualmente en formato JSON • Los resultados aparecen paginados • Ordenados cronológicamente 10 de marzo de 2016 64
  • 65. Tendencias • http://opendata.aragon.es/socialdata/trendings – {"status": "OK", "results": [result_1, result_2, result_3...]} – Results: {"name": name, "url": url} • /socialdata/trendings?type=aragon • /socialdata/trendings?type=spain • /socialdata/trendings?type=30days • /socialdata/trendings?type=60days • /socialdata/trendings?type=90days • /socialdata/trendings?type=diff 10 de marzo de 2016 65
  • 66. Contenido • http://opendata.aragon.es/socialdata/data? parameters – {"status": "NOK", "error_message": message} – {"status": "OK", "on_this_page": on_this_page, "results":[result_1, result_2, result_3...]} – {"id": id,"description": description, "ends_on": ends_on, "lat": latitude, "lng": longitude, "published_on": published_on, "title": title, "url": url, "author": author,"starts_on": starts_on, "source": source, "type": type, "thumbnail":thumbnail} 10 de marzo de 2016 66
  • 67. Contenido • id: entero identificativo del elemento. • type: cadena que indica el tipo de contenido. • source: cadena de texto que indica a qué fuente pertenece el resultado. • title: cadena con el título del contenido en el caso de que lo tenga. • description: contenido del elemento (texto del tweet, descripción del evento, descripción del vídeo, etc.) • url: dirección url directa al contenido. • author: cadena de texto con el nombre del autor en caso de que lo haya. • starts_on: para los eventos, si la tuvieran, fecha de comienzo. • ends_on: para los eventos, si la tuvieran, fecha de final. • published_on: fecha de publicación del contenido. • lat: latitud del contenido en formato real. • lng: longitud del contenido en formato real. • thumbnail: dirección url del thumbnail asociado si lo hubiera. 10 de marzo de 2016 67
  • 68. Contenido • Dos tipos de paginación: – Estándar (máx. 1000) – since_id & max_id • Todas las fechas tienen el formato: 16/01/14 13:03 • Se puede especificar que la API devuelva los datos en crudo con el parámetro raw_mode – /socialdata/data?source=twitter&raw_mode=true – Nuevo campo en los resultados llamado raw_data 10 de marzo de 2016 68
  • 69. Cómo podemos filtrarla • Por tipo de contenido • Por fuente • Por conversación • Por geoposición • Por período • Por palabra clave 10 de marzo de 2016 69
  • 70. Filtro por tipo de contenido • /socialdata/data?type=content_type – event (Facebook Events, Spain-info) – text (Twitter, Facebook, Google+, Blogger, Blogia, Wordpress) – wiki (Wikipedia) – video (Youtube, Vimeo) – picture (Instagram, Flickr, Pinterest) – venue (Foursquare) – code (Github) – media (Heraldo de Aragón, El Periódico de Aragón, Diario del Alto Aragón, Diario de Teruel) 10 de marzo de 2016 70
  • 71. Filtro por fuente • /socialdata/data?source=source_name – spain_info – facebook_events – twitter – youtube – instagram – facebook – wikipedia – blogger – wordpress – blogia – vimeo – flickr – foursquare – pinterest – google_plus – github – heraldodearagon – periodicodearagon – diariodelaltoaragon – diariodeteruel 10 de marzo de 2016 71
  • 72. Filtro por conversación • /socialdata/data?conversat ion=conversation_type – geo: conversación sobre lo que se habla dentro de Aragón – rel: conversación de temas y usuarios relevantes para Aragón 10 de marzo de 2016 72
  • 73. Filtro por geoposición • Filtrado por centro y radio – /socialdata/data?center=coordinates&distance=distance_in_k m – /socialdata/data?center=41.35678,-0.8148576&distance=5 • Filtrado por cuadrado geográfico – /socialdata/data?bbox=min_lng,min_lat,man_lng,max_lat – /socialdata/data?bbox=-0.8148576,41.35678,- 0.667584,41.78553 • Filtrado por municipio y radio – /socialdata/data?locality=locality&distance=distance_in_km – /socialdata/data?locality=Zaragoza&distance=5 • Sólo datos geolocalizados: – /socialdata/data?source=twitter&geolocated=true 10 de marzo de 2016 73
  • 74. Otros filtros • Por período: – /socialdata/data?start_date=start_date&end _date=end_date • Por palabra clave: – /socialdata/data?query=query • Combinaciones! 10 de marzo de 2016 74
  • 75. Ejemplo de uso 10 de marzo de 2016 75 https://github.com/albertoalcolea/charla-scraping
  • 76. Ejemplo de resultados 10 de marzo de 2016 76
  • 77. Qué puedo hacer con estos datos 10 de marzo de 2016 77
  • 78. Jacathon 10 de marzo de 2016 78
  • 79. Índice • Introducción • Técnicas y herramientas de extracción de datos • Ruido, técnicas de filtrado de datos • Qué hemos hecho en Aragon Open Social Data • Qué ofrecemos al público • Detección de tendencias 10 de marzo de 2016 79
  • 80. Detección de tendencias • Volumen de tráfico en redes sociales (twitter, facebook, youtube…) • Volumen de descargas y compras (iTunes, Amazon, Spotify, Google Play…) • Valoraciones • Charts, top lists (Emisoras de radio, foros…) • Volumen de búsquedas (Google) 10 de marzo de 2016 80
  • 81. Qué es un trending topic • Tendencia o tema del momento • Palabras o frases más repetidas en un momento concreto en Twitter • Origen en los hashtag -> #etiqueta • 2 objetivos principales: – Promoción – Movilización 10 de marzo de 2016 81
  • 82. Cómo se detecta • Algoritmo que pesa los términos – Apariciones – Novedad de los términos • Hay temas de los que siempre se habla mucho - > no son trending topics. Ej: Justin Bieber • Algunos de los más importantes: – Wikileaks – Primavera Árabe – AcampadaSol – Muerte de Michael Jackson – Muerte de Steve Jobs 10 de marzo de 2016 82
  • 84. Robots y spam • Aprovechan estas tendencias para hacer publicidad • Tienen robots similares a los nuestros – Calculan sus propias tendencias – Utilizan las de las redes sociales • Incluyen sus propios hashtags, enlaces, etc. • No tienen interacción con otros usuarios 10 de marzo de 2016 84
  • 85. Spammers 10 de marzo de 2016 85
  • 86. Bola de nieve • Hacemos detección de tendencias – Muy costoso -> guardar mucha información, hacer muchos cálculos periódicamente… – Lista fija inicial -> perderíamos mucha información • Además de las palabras clave iniciales - > retroalimentación – Coge nuevas palabras – Elimina algunas viejas 10 de marzo de 2016 86
  • 87. Enlaces • http://opendata.aragon.es/ • http://opendata.aragon.es/portal/social- data • http://opendata.aragon.es/portal/desarrol ladores/resumen 10 de marzo de 2016 87