Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Miguel Ángel González Gallardo
/
AnalizadorLogs
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
2f6fb66d
authored
Mar 25, 2021
by
Miguel Ángel González Gallardo
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Analisis tiempo mediao pagina hecho
parent
5fe53eed
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
71 additions
and
15 deletions
access_log_Aug95_reducido
codigo/AnalisisDuracionSesion.py
codigo/AnalisisTMedioPagina.py
codigo/Filtros.py
codigo/Gestor.py
codigo/idsUsuarioSesion.py
access_log_Aug95_reducido
View file @
2f6fb66d
This diff could not be displayed because it is too large.
codigo/AnalisisDuracionSesion.py
View file @
2f6fb66d
from
Filtros
import
ordenarPorSesion
from
Filtros
import
getDistintasSesiones
import
math
...
...
@@ -21,10 +22,7 @@ def estadisticasDuracionSesiones(registros):
# Ordeno las tuplas por registros
reg
=
ordenarPorSesion
(
registros
)
# Miro los distintos ids de Sesion que hay
distintos
=
set
()
for
r
in
reg
:
distintos
.
add
(
r
.
idSesion
)
distintos
=
list
(
distintos
)
distintos
=
getDistintasSesiones
(
registros
)
# Para cada id distinto calculo su duracion y la incorporo al array donde el indice sera el orden de la sesion
# en el array de distintos y el contenido será la duracion
duraciones
=
[]
...
...
codigo/AnalisisTMedioPagina.py
View file @
2f6fb66d
from
idsUsuarioSesion
import
ordenaRegistros
from
Filtros
import
getDistintasSesiones
#Pasado el id de sesion y la pagina, se suma el tiempo que ha pasado el usuario desde que accedio a la pagina hasta que
#cambio de pagina
def
getTiempoEnPagina
(
id
,
pagina
,
registros
):
s
=
0
#<-- Suma de los tiempos pasados entre paginas
for
i
in
range
(
len
(
registros
)
-
1
):
if
registros
[
i
]
.
url
==
pagina
and
registros
[
i
]
.
idSesion
==
id
and
registros
[
i
+
1
]
.
idSesion
==
id
:
s
+=
abs
(
registros
[
i
+
1
]
.
marcaTiempo
-
registros
[
i
]
.
marcaTiempo
)
return
s
def
analisisTiempoMedioPorPagina
(
registros
):
#Ordeno los registros por sesion
reg
=
ordenaRegistros
(
registros
,
1800
)
#Obtengo los id de las sesiones existentes
idsExistentes
=
getDistintasSesiones
(
reg
)
#Obtengo las distintas paginas existentes
paginas
=
set
()
for
r
in
registros
:
paginas
.
add
(
r
.
url
)
paginas
=
list
(
paginas
)
#Creo una lista para guardar el tiempo medio que han pasado los usuarios en las paginas
tiempos
=
[]
#El indice del vector tiempos es igual al indice vector paginas
max
=-
1
for
pag
in
paginas
:
suma
=
0
c
=
0
for
sesion
in
idsExistentes
:
suma
+=
getTiempoEnPagina
(
sesion
,
pag
,
reg
)
c
+=
1
if
c
!=
0
:
t
=
round
(
suma
/
c
,
2
)
tiempos
.
append
(
t
)
if
t
>
max
:
max
=
t
else
:
tiempos
.
append
(
0
)
#Creo el histograma
histograma
=
[]
max
=
int
(
max
)
+
2
for
i
in
range
(
max
):
histograma
.
append
(
0
)
#Relleno el histograma
for
t
in
tiempos
:
histograma
[
int
(
round
(
t
,
0
))]
+=
1
return
paginas
,
tiempos
,
histograma
codigo/Filtros.py
View file @
2f6fb66d
...
...
@@ -3,4 +3,11 @@ def ordenarPorSesion(registros):
for
j
in
range
(
len
(
registros
)):
if
registros
[
i
]
.
idSesion
<
registros
[
j
]
.
idSesion
:
registros
[
i
],
registros
[
j
]
=
registros
[
j
],
registros
[
i
]
return
registros
\ No newline at end of file
return
registros
def
getDistintasSesiones
(
registros
):
s
=
set
()
for
r
in
registros
:
s
.
add
(
r
.
idSesion
)
return
list
(
s
)
codigo/Gestor.py
View file @
2f6fb66d
from
ObtencionRegistro
import
obtenerRegistros
from
idsUsuarioSesion
import
ordenaRegistros
from
Filtros
import
ordenarPorSesion
from
Cesta
import
obtenerDirectorios
from
Cesta
import
obtenerCestaTransformada
from
Analisis
DuracionSesion
import
estadisticasDuracionSesiones
from
Analisis
TMedioPagina
import
analisisTiempoMedioPorPagina
RUTA_ARCHIVO
=
"../access_log_Aug95_reducido"
E_SPIDERING
=
True
...
...
@@ -75,11 +77,10 @@ cesta = obtenerCestaTransformada(d, ses)
printCestaTransformada(cesta)
'''
histograma
,
media
,
moda
,
maxDur
,
minDur
,
desviacionTipica
=
estadisticasDuracionSesiones
(
r
)
p
rint
(
"Media:"
,
media
)
print
(
"Moda:"
,
moda
)
print
(
"Maximo:"
,
maxDur
)
print
(
"Minimo:"
,
minDur
)
print
(
"DV:"
,
desviacionTipica
)
print
(
"Histograma:"
,
histograma
)
p
aginas
,
tiempos
,
hist
=
analisisTiempoMedioPorPagina
(
r
)
for
i
in
range
(
len
(
paginas
)):
print
(
paginas
[
i
],
" "
,
tiempos
[
i
]
)
print
(
hist
)
codigo/idsUsuarioSesion.py
View file @
2f6fb66d
...
...
@@ -31,7 +31,7 @@ def ordenaRegistros(registros, umbral):
registros
[
i
]
=
reg2
registros
[
j
+
i
]
=
reg1
else
:
# Se organiza por marca de tiempo si son iguales
if
reg2
.
idUsuario
is
reg1
.
idUsuario
and
reg2
.
marcaTiempo
>
reg1
.
marcaTiempo
:
if
reg2
.
idUsuario
is
reg1
.
idUsuario
and
reg2
.
marcaTiempo
<
reg1
.
marcaTiempo
:
registros
[
i
]
=
reg2
registros
[
j
+
i
]
=
reg1
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment