SlideShare una empresa de Scribd logo
1 de 22
WEB y TEXT MINING
Web Log Analysis con AWKJuan Azcurra
Log del web server Apache
 El log que guarda un servidor Apache contiene la siguiente
información:
%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-agent}i"
 Donde:
 %h: IP del cliente.
 %l: identidad del cliente.
 %u: userid de la persona solicitando el documento.
 %t: hora en la que el servidor finalizó el pedido.
 %r: linea solicitada por el cliente.
 %>s: código de estado que el servidor envia al cliente.
 %b: tamaño en bytes del objeto enviado al cliente.
 %{Referer}: desde donde fue referido.
 %{User-agent}: agente de usuario del cliente.
Códigos de estado
 Códigos de respuesta:
 200 - OK
 206 - Partial Content
 301 - Moved Permanently
 302 - Found
 304 - Not Modified
 401 - Unauthorised (password required)
 403 - Forbidden
 404 - Not Found
 301 o 302 indican que hubo una redirección.
 304 indica que el objeto ya se encontraba en la cache del
cliente.
 404 indica que el link está corrupto.
GAWK – Introducción
 Un lenguaje muy potente para procesamiento de texto y búsqueda
de patrones.
 GAWK es una versión GNU de AWK.
 Sintáxis similar a C.
 http://www.gnu.org/software/gawk
 El nombre AWK proviene de las iniciales de sus diseñadores:
Alfred V. Aho, Peter J. Weinberger, and Brian W. Kernighan.
 La versión original de AWK fue escrita en 1977.
GAWK – Ejecución
 gawk ‘commands’ file
 gawk –f prog.gawk
GAWK – Archivos y campos
 Gawk divide el archivo en registros y campos.
 Cada línea es un registro (por defecto).
 Los campos son delimitados por un carácter
especial.
 Por defecto: espacio en blanco (blanco o tab).
 Puede ser cambiado con la opción –F
 Ej. Para indicar que el campo está separado por
comas, usar:
 Gawk –F “,” archivo.csv
GAWK – Campos y variables
 Los campos son accedidos por el prefijo $
 Variables especiales:
 $1 es el primer campo, $2 es el segundo campo,
…
 $0 es un campo especial que contiene todo el
registro.
 NF es una variable especial que indica el número
de campos en el registro actual.
 NR es una variable especial que indica el número
de registro actual.
GAWK - Condiciones
gawk –F "d" 'condición' archivo
 GAWK procesa cada linea del archivo, usando
el delimitado por defecto para dividir cada
linea en campos.
 La acción por defecto es imprimir la linea
completa.
Ejemplo con archivo de prueba
 Utilizaremos el archivo d100.log que contiene
las 100 primeras lineas del archivo de log de
Kdnuggets del 16/11/05,
 Se presentarán algunos códigos de ejemplo
que pueden utilizarse con el archivo completo.
Archivo de prueba d100.log
ip1664.com - - [16/Nov/2005:00:00:43 -0500] "GET /robots.txt HTTP/1.0" 200 173 "-" "msnbot/1.0
(+http://search.msn.com/msnbot.htm)"
ip1664.com - - [16/Nov/2005:00:00:43 -0500] "GET /gpspubs/sigkdd-kdd99-panel.html HTTP/1.0" 200 14199 "-
" "msnbot/1.0 (+http://search.msn.com/msnbot.htm)"
ip2283.unr - - [16/Nov/2005:00:01:02 -0500] "GET /dmcourse/data_mining_course/assignments/assignment-
3.html HTTP/1.1" 200 8090
"http://www.google.com/search?hl=en&q=use+of+data+cleaning+in+data+mining&spell=1" "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1; SV1)"
ip2283.unr - - [16/Nov/2005:00:01:03 -0500] "GET /dmcourse/dm.css HTTP/1.1" 200 155
"http://www.kdnuggets.com/dmcourse/data_mining_course/assignments/assignment-3.html" "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1; SV1)"
ip1389.net - - [16/Nov/2005:00:02:46 -0500] "GET /gpspubs/kdd99-est-ben-lift/sld021.htm HTTP/1.1" 200
1385 "http://www.google.com/search?hs=JnE&hl=en&lr=&client=opera&rls=en&q=lift+curve&btnG=Search"
"Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux i686; en) Opera 8.5"
ip1389.net - - [16/Nov/2005:00:02:46 -0500] "GET /gpspubs/kdd99-est-ben-lift/img021.gif HTTP/1.1" 200
7465 "http://www.kdnuggets.com/gpspubs/kdd99-est-ben-lift/sld021.htm" "Mozilla/4.0 (compatible; MSIE
6.0; X11; Linux i686; en) Opera 8.5"
ip1389.net - - [16/Nov/2005:00:02:47 -0500] "GET /favicon.ico HTTP/1.1" 200 899
"http://www.kdnuggets.com/gpspubs/kdd99-est-ben-lift/sld021.htm" "Mozilla/4.0 (compatible; MSIE 6.0;
X11; Linux i686; en) Opera 8.5"
ip1946.com - - [16/Nov/2005:00:02:49 -0500] "GET /news/2001/n10/15i.html HTTP/1.0" 200 4214 "-"
"Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)“
Ejemplo 1: Líneas con estado !=
200
 Código de estado se encuentra en el campo $9
 Cuántas lineas tienen el código de estado distinto
de 200? :
gawk '$9 != 200' d100.log
Resultado: 27
Para contar el estado igual a 200, usar:
'$9 == 200'
no '$9 = 200' (esto setea $9 al valor 200)
Ejempo 2: Contar referencias de
Google
 Gawk tiene un poderoso evaluador de
patrones
 variable ~ "pattern"
 Ejemplo: cuántas líneas del log tiene la
referencia (campo $11) desde google:
gawk '$11 ~ "google"' d100.log
Resultado: 2
Ejemplo 3: Condiciones
complejas
 Cuántos hits tienen el método GET y estado
404?
 (status 404 es un código de error)
 El método está en $6, pero el método está
separado por un espacio. Se puede utilizar:
gawk '$6 ~ "GET" && $9 == 404' d100.log
Resultado: 1
Ejemplo 4a: Contando solicitudes
de HTML
 El archivo solicitado está en el campo $7, se
puede utilizar esta condición para evaluar si
terminar con .html
 Nota: $ en una expresión regular indica el fin
de la cadena.
gawk '$7 ~ ".html$"' d100.log
Resultado: 21
Ejemplo 4b: Contando solicitudes
de HTM o HTML
Algunos archivos finalizan con .html, se puede
utilizar:
gawk '$7 ~ ".html$|.htm$"'
d100.log
Resultado: 22
 O también:
gawk '$7 ~ ".htm"' d100.log
Resultado: 22
Ejemplo 4c: Contado solicitudes de
directorios
 Algunos pedidos pueden ser a un directorio,
por ejemplo un pedido a www.kdnuggets.com/
tendría el literal "GET / HTTP/1.1".
 Para contar estas solicitudes:
gawk '$7 ~ "/$"' d100.log
Resultado: 6
Ejemplo 4d: Contando todas las
solicitudes HTML
 o contar html, htm y directorios con:
gawk '$7 ~ "(html|htm|/)$"'
d100.log
Resultado: 28
GAWK – Cálculos
 Forma general de la sentencia
gawk '{sentencias;…}' archivo
 Las sentencias son ejecutadas para cada
línea del archivo.
 Las sentencias incluyen condicionales, loops,
etc.
Ejemplo 5: Referencias
externas
 Imprimir referencias a páginas html,
excluyendo acceso directo (donde la
referencia es "-" )
 Nota: para testear si $11 es "-", es
necesario utilizar la comilla con escape "
 Código:
gawk '{if ($7~"html$" &&
$11!=""-"") print $11}'
d100.log
Resultado: 7
GAWK – Sentencias BEGIN,
END
 Para ejecutar sentencias antes de leer la
primera linea se utiliza la palabra clave BEGIN
 Para ejecutar sentencias despues de leer la
última linea se utiliza la palabra clave END
gawk 'BEGIN{sent1;…} {sent2;…} END
{sent3;…}' archivo
Ejemplo 6
 Sumar los bytes transmitidos con código de
estado 200
gawk '{if ($9 == 200) suma += $10}
END{print suma}' d100.log
Resultado: 396460
Nota: no es necesario inicializar suma, todas
las variables son inicializadas en 0 por
defecto.
GAWK - Arreglos
 Es posible utilizar variables compuestas
 Por ejemplo, imprimir la cantidad de hits por
IP:
gawk '{!a[$1]++} END {for(i in
a) print i, a[i]}'d100.log
Resultado:
ip2171.unr 1
ip967.com 5
ip1037.com 1

Más contenido relacionado

Destacado

rrrrrrrrrrrrrrrrrrrrrrrrreffffffffffv aghhhhhlizacindeseguriddad-130217120348...
rrrrrrrrrrrrrrrrrrrrrrrrreffffffffffv aghhhhhlizacindeseguriddad-130217120348...rrrrrrrrrrrrrrrrrrrrrrrrreffffffffffv aghhhhhlizacindeseguriddad-130217120348...
rrrrrrrrrrrrrrrrrrrrrrrrreffffffffffv aghhhhhlizacindeseguriddad-130217120348...ginocuarite2015
 
Archivo academico2008
Archivo academico2008Archivo academico2008
Archivo academico2008marcelo leal
 
Deporte Para Todos
Deporte Para TodosDeporte Para Todos
Deporte Para Todosdeporbahia
 
Onildo Direitos Humanos
Onildo Direitos HumanosOnildo Direitos Humanos
Onildo Direitos Humanosguestb20a74
 
Art On Banana
Art On BananaArt On Banana
Art On BananaThilini
 
Bigger, larger, heavier
Bigger, larger, heavierBigger, larger, heavier
Bigger, larger, heavierBVG Associates
 
Adolescencia Gt[1]
Adolescencia Gt[1]Adolescencia Gt[1]
Adolescencia Gt[1]sanbib
 
Presentación (irene)
Presentación (irene)Presentación (irene)
Presentación (irene)Irene00
 
Id. corp. con fines com.
Id. corp. con fines com.Id. corp. con fines com.
Id. corp. con fines com.katinita
 
Defensa acusación 26/04
Defensa acusación 26/04Defensa acusación 26/04
Defensa acusación 26/04cee_info_2012
 
Seminarios Turismo Sostenible Agrotravel & Formagrupo 2016
Seminarios Turismo Sostenible Agrotravel & Formagrupo 2016Seminarios Turismo Sostenible Agrotravel & Formagrupo 2016
Seminarios Turismo Sostenible Agrotravel & Formagrupo 2016Jorge Vallina Crespo
 
Fotos capacitacion docentes
Fotos capacitacion docentesFotos capacitacion docentes
Fotos capacitacion docentesminsa1
 

Destacado (20)

Cuestión 1
Cuestión 1Cuestión 1
Cuestión 1
 
Network part1
Network part1Network part1
Network part1
 
Opinion mining
Opinion miningOpinion mining
Opinion mining
 
rrrrrrrrrrrrrrrrrrrrrrrrreffffffffffv aghhhhhlizacindeseguriddad-130217120348...
rrrrrrrrrrrrrrrrrrrrrrrrreffffffffffv aghhhhhlizacindeseguriddad-130217120348...rrrrrrrrrrrrrrrrrrrrrrrrreffffffffffv aghhhhhlizacindeseguriddad-130217120348...
rrrrrrrrrrrrrrrrrrrrrrrrreffffffffffv aghhhhhlizacindeseguriddad-130217120348...
 
Archivo academico2008
Archivo academico2008Archivo academico2008
Archivo academico2008
 
GHGHGH
GHGHGHGHGHGH
GHGHGH
 
Mauvaise Pub
Mauvaise PubMauvaise Pub
Mauvaise Pub
 
Grecia
GreciaGrecia
Grecia
 
Deporte Para Todos
Deporte Para TodosDeporte Para Todos
Deporte Para Todos
 
Politica
PoliticaPolitica
Politica
 
Onildo Direitos Humanos
Onildo Direitos HumanosOnildo Direitos Humanos
Onildo Direitos Humanos
 
Art On Banana
Art On BananaArt On Banana
Art On Banana
 
Bigger, larger, heavier
Bigger, larger, heavierBigger, larger, heavier
Bigger, larger, heavier
 
Adolescencia Gt[1]
Adolescencia Gt[1]Adolescencia Gt[1]
Adolescencia Gt[1]
 
Presentación (irene)
Presentación (irene)Presentación (irene)
Presentación (irene)
 
Id. corp. con fines com.
Id. corp. con fines com.Id. corp. con fines com.
Id. corp. con fines com.
 
Defensa acusación 26/04
Defensa acusación 26/04Defensa acusación 26/04
Defensa acusación 26/04
 
Festividad de san pedro y san pablo ninos
Festividad de san pedro y san pablo ninosFestividad de san pedro y san pablo ninos
Festividad de san pedro y san pablo ninos
 
Seminarios Turismo Sostenible Agrotravel & Formagrupo 2016
Seminarios Turismo Sostenible Agrotravel & Formagrupo 2016Seminarios Turismo Sostenible Agrotravel & Formagrupo 2016
Seminarios Turismo Sostenible Agrotravel & Formagrupo 2016
 
Fotos capacitacion docentes
Fotos capacitacion docentesFotos capacitacion docentes
Fotos capacitacion docentes
 

Similar a Web Log Analysis - AWK

Apache ha muerto, Viva Lighttpd
Apache ha muerto, Viva LighttpdApache ha muerto, Viva Lighttpd
Apache ha muerto, Viva Lighttpdruna
 
21 protocolo de configuración dinámica de hosts dhcp
21  protocolo de configuración dinámica de hosts dhcp21  protocolo de configuración dinámica de hosts dhcp
21 protocolo de configuración dinámica de hosts dhcpjosemanuelacostarendon
 
Rendimiento en magento
Rendimiento en magentoRendimiento en magento
Rendimiento en magentoOnestic
 
Presentación1
Presentación1Presentación1
Presentación1fabymon
 
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdfPHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdfRaaulroodriguez
 
Manual ldap
Manual ldapManual ldap
Manual ldapomarhl2
 
21 protocolo de configuración dinámica de hosts dhcp
21  protocolo de configuración dinámica de hosts dhcp21  protocolo de configuración dinámica de hosts dhcp
21 protocolo de configuración dinámica de hosts dhcpAprende Viendo
 
Programación web con JSP
Programación web con JSPProgramación web con JSP
Programación web con JSPousli07
 
Scripting para Pentesters v1.0
Scripting para Pentesters v1.0Scripting para Pentesters v1.0
Scripting para Pentesters v1.0wcuestas
 
Apache: instalación y configuración en Ubuntu Server y Windows Server
Apache: instalación y configuración en Ubuntu Server y Windows ServerApache: instalación y configuración en Ubuntu Server y Windows Server
Apache: instalación y configuración en Ubuntu Server y Windows ServerNombre Apellidos
 
High performance Web Sites
High performance Web SitesHigh performance Web Sites
High performance Web SitesopenfinanceDev
 

Similar a Web Log Analysis - AWK (20)

Curso de php
Curso de phpCurso de php
Curso de php
 
Apache ha muerto, Viva Lighttpd
Apache ha muerto, Viva LighttpdApache ha muerto, Viva Lighttpd
Apache ha muerto, Viva Lighttpd
 
21 protocolo de configuración dinámica de hosts dhcp
21  protocolo de configuración dinámica de hosts dhcp21  protocolo de configuración dinámica de hosts dhcp
21 protocolo de configuración dinámica de hosts dhcp
 
Rendimiento en magento
Rendimiento en magentoRendimiento en magento
Rendimiento en magento
 
Presentación1
Presentación1Presentación1
Presentación1
 
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdfPHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
 
20 dhcp linux_asoitson
20 dhcp linux_asoitson20 dhcp linux_asoitson
20 dhcp linux_asoitson
 
Manual ldap
Manual ldapManual ldap
Manual ldap
 
21 protocolo de configuración dinámica de hosts dhcp
21  protocolo de configuración dinámica de hosts dhcp21  protocolo de configuración dinámica de hosts dhcp
21 protocolo de configuración dinámica de hosts dhcp
 
Ajax
AjaxAjax
Ajax
 
Servidor web Apache
Servidor web ApacheServidor web Apache
Servidor web Apache
 
Servicios web java, php, perl, google
Servicios web java, php, perl, googleServicios web java, php, perl, google
Servicios web java, php, perl, google
 
Programación web con JSP
Programación web con JSPProgramación web con JSP
Programación web con JSP
 
Scripting para Pentesters v1.0
Scripting para Pentesters v1.0Scripting para Pentesters v1.0
Scripting para Pentesters v1.0
 
Apache: instalación y configuración en Ubuntu Server y Windows Server
Apache: instalación y configuración en Ubuntu Server y Windows ServerApache: instalación y configuración en Ubuntu Server y Windows Server
Apache: instalación y configuración en Ubuntu Server y Windows Server
 
Redes wan
Redes wanRedes wan
Redes wan
 
High performance Web Sites
High performance Web SitesHigh performance Web Sites
High performance Web Sites
 
Servicios web Extendido_error perl
Servicios web Extendido_error perlServicios web Extendido_error perl
Servicios web Extendido_error perl
 
Nginx
NginxNginx
Nginx
 
1212
12121212
1212
 

Más de Juan Azcurra

Gestión de la Calidad en Proyectos
Gestión de la Calidad en ProyectosGestión de la Calidad en Proyectos
Gestión de la Calidad en ProyectosJuan Azcurra
 
Gestión del Alcance en los Proyectos
Gestión del Alcance en los ProyectosGestión del Alcance en los Proyectos
Gestión del Alcance en los ProyectosJuan Azcurra
 
Fundamentos de Administración de Proyectos
Fundamentos de Administración de ProyectosFundamentos de Administración de Proyectos
Fundamentos de Administración de ProyectosJuan Azcurra
 
Introducción a Business Intelligence
Introducción a Business IntelligenceIntroducción a Business Intelligence
Introducción a Business IntelligenceJuan Azcurra
 
Web Usage Mining - Temas Avanzados
Web Usage Mining - Temas AvanzadosWeb Usage Mining - Temas Avanzados
Web Usage Mining - Temas AvanzadosJuan Azcurra
 
Web Content Mining - Information Retrieval
Web Content Mining - Information RetrievalWeb Content Mining - Information Retrieval
Web Content Mining - Information RetrievalJuan Azcurra
 
Web Content Mining - Datos estructurados
Web Content Mining - Datos estructuradosWeb Content Mining - Datos estructurados
Web Content Mining - Datos estructuradosJuan Azcurra
 
Introducción a Web Mining
Introducción a Web MiningIntroducción a Web Mining
Introducción a Web MiningJuan Azcurra
 
Introducción a Big Data
Introducción a Big DataIntroducción a Big Data
Introducción a Big DataJuan Azcurra
 
Introducción a Text Mining
Introducción a Text MiningIntroducción a Text Mining
Introducción a Text MiningJuan Azcurra
 

Más de Juan Azcurra (15)

Gestión de la Calidad en Proyectos
Gestión de la Calidad en ProyectosGestión de la Calidad en Proyectos
Gestión de la Calidad en Proyectos
 
Gestión del Alcance en los Proyectos
Gestión del Alcance en los ProyectosGestión del Alcance en los Proyectos
Gestión del Alcance en los Proyectos
 
Fundamentos de Administración de Proyectos
Fundamentos de Administración de ProyectosFundamentos de Administración de Proyectos
Fundamentos de Administración de Proyectos
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
Introducción a Business Intelligence
Introducción a Business IntelligenceIntroducción a Business Intelligence
Introducción a Business Intelligence
 
NoSQL - MongoDB
NoSQL - MongoDBNoSQL - MongoDB
NoSQL - MongoDB
 
Text mining
Text miningText mining
Text mining
 
Web Link Analysis
Web Link AnalysisWeb Link Analysis
Web Link Analysis
 
Web Usage Mining
Web Usage MiningWeb Usage Mining
Web Usage Mining
 
Web Usage Mining - Temas Avanzados
Web Usage Mining - Temas AvanzadosWeb Usage Mining - Temas Avanzados
Web Usage Mining - Temas Avanzados
 
Web Content Mining - Information Retrieval
Web Content Mining - Information RetrievalWeb Content Mining - Information Retrieval
Web Content Mining - Information Retrieval
 
Web Content Mining - Datos estructurados
Web Content Mining - Datos estructuradosWeb Content Mining - Datos estructurados
Web Content Mining - Datos estructurados
 
Introducción a Web Mining
Introducción a Web MiningIntroducción a Web Mining
Introducción a Web Mining
 
Introducción a Big Data
Introducción a Big DataIntroducción a Big Data
Introducción a Big Data
 
Introducción a Text Mining
Introducción a Text MiningIntroducción a Text Mining
Introducción a Text Mining
 

Último

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
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
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
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 

Último (20)

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)
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
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
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 

Web Log Analysis - AWK

  • 1. WEB y TEXT MINING Web Log Analysis con AWKJuan Azcurra
  • 2. Log del web server Apache  El log que guarda un servidor Apache contiene la siguiente información: %h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-agent}i"  Donde:  %h: IP del cliente.  %l: identidad del cliente.  %u: userid de la persona solicitando el documento.  %t: hora en la que el servidor finalizó el pedido.  %r: linea solicitada por el cliente.  %>s: código de estado que el servidor envia al cliente.  %b: tamaño en bytes del objeto enviado al cliente.  %{Referer}: desde donde fue referido.  %{User-agent}: agente de usuario del cliente.
  • 3. Códigos de estado  Códigos de respuesta:  200 - OK  206 - Partial Content  301 - Moved Permanently  302 - Found  304 - Not Modified  401 - Unauthorised (password required)  403 - Forbidden  404 - Not Found  301 o 302 indican que hubo una redirección.  304 indica que el objeto ya se encontraba en la cache del cliente.  404 indica que el link está corrupto.
  • 4. GAWK – Introducción  Un lenguaje muy potente para procesamiento de texto y búsqueda de patrones.  GAWK es una versión GNU de AWK.  Sintáxis similar a C.  http://www.gnu.org/software/gawk  El nombre AWK proviene de las iniciales de sus diseñadores: Alfred V. Aho, Peter J. Weinberger, and Brian W. Kernighan.  La versión original de AWK fue escrita en 1977.
  • 5. GAWK – Ejecución  gawk ‘commands’ file  gawk –f prog.gawk
  • 6. GAWK – Archivos y campos  Gawk divide el archivo en registros y campos.  Cada línea es un registro (por defecto).  Los campos son delimitados por un carácter especial.  Por defecto: espacio en blanco (blanco o tab).  Puede ser cambiado con la opción –F  Ej. Para indicar que el campo está separado por comas, usar:  Gawk –F “,” archivo.csv
  • 7. GAWK – Campos y variables  Los campos son accedidos por el prefijo $  Variables especiales:  $1 es el primer campo, $2 es el segundo campo, …  $0 es un campo especial que contiene todo el registro.  NF es una variable especial que indica el número de campos en el registro actual.  NR es una variable especial que indica el número de registro actual.
  • 8. GAWK - Condiciones gawk –F "d" 'condición' archivo  GAWK procesa cada linea del archivo, usando el delimitado por defecto para dividir cada linea en campos.  La acción por defecto es imprimir la linea completa.
  • 9. Ejemplo con archivo de prueba  Utilizaremos el archivo d100.log que contiene las 100 primeras lineas del archivo de log de Kdnuggets del 16/11/05,  Se presentarán algunos códigos de ejemplo que pueden utilizarse con el archivo completo.
  • 10. Archivo de prueba d100.log ip1664.com - - [16/Nov/2005:00:00:43 -0500] "GET /robots.txt HTTP/1.0" 200 173 "-" "msnbot/1.0 (+http://search.msn.com/msnbot.htm)" ip1664.com - - [16/Nov/2005:00:00:43 -0500] "GET /gpspubs/sigkdd-kdd99-panel.html HTTP/1.0" 200 14199 "- " "msnbot/1.0 (+http://search.msn.com/msnbot.htm)" ip2283.unr - - [16/Nov/2005:00:01:02 -0500] "GET /dmcourse/data_mining_course/assignments/assignment- 3.html HTTP/1.1" 200 8090 "http://www.google.com/search?hl=en&q=use+of+data+cleaning+in+data+mining&spell=1" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" ip2283.unr - - [16/Nov/2005:00:01:03 -0500] "GET /dmcourse/dm.css HTTP/1.1" 200 155 "http://www.kdnuggets.com/dmcourse/data_mining_course/assignments/assignment-3.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" ip1389.net - - [16/Nov/2005:00:02:46 -0500] "GET /gpspubs/kdd99-est-ben-lift/sld021.htm HTTP/1.1" 200 1385 "http://www.google.com/search?hs=JnE&hl=en&lr=&client=opera&rls=en&q=lift+curve&btnG=Search" "Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux i686; en) Opera 8.5" ip1389.net - - [16/Nov/2005:00:02:46 -0500] "GET /gpspubs/kdd99-est-ben-lift/img021.gif HTTP/1.1" 200 7465 "http://www.kdnuggets.com/gpspubs/kdd99-est-ben-lift/sld021.htm" "Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux i686; en) Opera 8.5" ip1389.net - - [16/Nov/2005:00:02:47 -0500] "GET /favicon.ico HTTP/1.1" 200 899 "http://www.kdnuggets.com/gpspubs/kdd99-est-ben-lift/sld021.htm" "Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux i686; en) Opera 8.5" ip1946.com - - [16/Nov/2005:00:02:49 -0500] "GET /news/2001/n10/15i.html HTTP/1.0" 200 4214 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)“
  • 11. Ejemplo 1: Líneas con estado != 200  Código de estado se encuentra en el campo $9  Cuántas lineas tienen el código de estado distinto de 200? : gawk '$9 != 200' d100.log Resultado: 27 Para contar el estado igual a 200, usar: '$9 == 200' no '$9 = 200' (esto setea $9 al valor 200)
  • 12. Ejempo 2: Contar referencias de Google  Gawk tiene un poderoso evaluador de patrones  variable ~ "pattern"  Ejemplo: cuántas líneas del log tiene la referencia (campo $11) desde google: gawk '$11 ~ "google"' d100.log Resultado: 2
  • 13. Ejemplo 3: Condiciones complejas  Cuántos hits tienen el método GET y estado 404?  (status 404 es un código de error)  El método está en $6, pero el método está separado por un espacio. Se puede utilizar: gawk '$6 ~ "GET" && $9 == 404' d100.log Resultado: 1
  • 14. Ejemplo 4a: Contando solicitudes de HTML  El archivo solicitado está en el campo $7, se puede utilizar esta condición para evaluar si terminar con .html  Nota: $ en una expresión regular indica el fin de la cadena. gawk '$7 ~ ".html$"' d100.log Resultado: 21
  • 15. Ejemplo 4b: Contando solicitudes de HTM o HTML Algunos archivos finalizan con .html, se puede utilizar: gawk '$7 ~ ".html$|.htm$"' d100.log Resultado: 22  O también: gawk '$7 ~ ".htm"' d100.log Resultado: 22
  • 16. Ejemplo 4c: Contado solicitudes de directorios  Algunos pedidos pueden ser a un directorio, por ejemplo un pedido a www.kdnuggets.com/ tendría el literal "GET / HTTP/1.1".  Para contar estas solicitudes: gawk '$7 ~ "/$"' d100.log Resultado: 6
  • 17. Ejemplo 4d: Contando todas las solicitudes HTML  o contar html, htm y directorios con: gawk '$7 ~ "(html|htm|/)$"' d100.log Resultado: 28
  • 18. GAWK – Cálculos  Forma general de la sentencia gawk '{sentencias;…}' archivo  Las sentencias son ejecutadas para cada línea del archivo.  Las sentencias incluyen condicionales, loops, etc.
  • 19. Ejemplo 5: Referencias externas  Imprimir referencias a páginas html, excluyendo acceso directo (donde la referencia es "-" )  Nota: para testear si $11 es "-", es necesario utilizar la comilla con escape "  Código: gawk '{if ($7~"html$" && $11!=""-"") print $11}' d100.log Resultado: 7
  • 20. GAWK – Sentencias BEGIN, END  Para ejecutar sentencias antes de leer la primera linea se utiliza la palabra clave BEGIN  Para ejecutar sentencias despues de leer la última linea se utiliza la palabra clave END gawk 'BEGIN{sent1;…} {sent2;…} END {sent3;…}' archivo
  • 21. Ejemplo 6  Sumar los bytes transmitidos con código de estado 200 gawk '{if ($9 == 200) suma += $10} END{print suma}' d100.log Resultado: 396460 Nota: no es necesario inicializar suma, todas las variables son inicializadas en 0 por defecto.
  • 22. GAWK - Arreglos  Es posible utilizar variables compuestas  Por ejemplo, imprimir la cantidad de hits por IP: gawk '{!a[$1]++} END {for(i in a) print i, a[i]}'d100.log Resultado: ip2171.unr 1 ip967.com 5 ip1037.com 1