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
e9d9b5b8
authored
Mar 20, 2021
by
Miguel Ángel González Gallardo
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Arreglado filtrado y leerFichero()
parent
d52e50f4
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
26 additions
and
47 deletions
codigo/Dato.py
codigo/Gestor.py
codigo/__pycache__/Dato.cpython-39.opt-2.pyc
codigo/Dato.py
View file @
e9d9b5b8
...
@@ -31,7 +31,7 @@ class Dato:
...
@@ -31,7 +31,7 @@ class Dato:
# Obtenemos modo de petición, url y protocolo
# Obtenemos modo de petición, url y protocolo
c
=
leerLinea
(
cadena
,
c
,
'"'
)
c
=
leerLinea
(
cadena
,
c
,
'"'
)
self
.
metodoPeticion
,
c
=
sacarLinea
(
cadena
,
c
,
aux
,
' '
)
self
.
metodoPeticion
,
c
=
sacarLinea
(
cadena
,
c
,
aux
,
' '
)
self
.
URL
,
c
=
sacarLinea
(
cadena
,
c
,
aux
,
' '
)
self
.
url
,
c
=
sacarLinea
(
cadena
,
c
,
aux
,
' '
)
self
.
vProtocolo
,
c
=
sacarLinea
(
cadena
,
c
,
aux
,
'"'
)
self
.
vProtocolo
,
c
=
sacarLinea
(
cadena
,
c
,
aux
,
'"'
)
c
+=
2
c
+=
2
...
...
codigo/Gestor.py
View file @
e9d9b5b8
from
Dato
import
Dato
from
Dato
import
Dato
#
Realiza
#
Quita las entradas que pertenecen arañas, bots o crawler
def
eSpidering
(
reg
):
def
eSpidering
(
reg
):
aQuitar
=
[
"spider"
,
"bot"
,
"crawler"
]
aQuitar
=
[
"spider"
,
"bot"
,
"crawler"
]
c
=
0
c
=
0
...
@@ -41,66 +41,45 @@ def ordenaRegistros(reg, aux):
...
@@ -41,66 +41,45 @@ def ordenaRegistros(reg, aux):
# Lee el fichero log
# Lee el fichero log
def
leerFicheroLog
(
ruta
,
espidering
,
extensiones
,
valor
):
def
leerFicheroLog
(
ruta
,
espidering
,
extensionesAdmitidas
,
extensionesNoAdmitidas
):
# Obtiene los registros con las extensiones deseadas si se indica
if
extensiones
is
None
:
registros
=
obtenerRegistros
(
ruta
)
else
:
registros
=
manipularFiltradas
(
ruta
,
extensiones
,
valor
)
# Si se ha pedido spidering, se realiza
if
espidering
:
registros
=
eSpidering
(
registros
)
print
(
"Procesados "
,
len
(
registros
),
" registros"
)
return
registros
# Obtenemos los registros de la ruta cuando no se manipulan extensiones
def
obtenerRegistros
(
ruta
):
ret
=
[]
f
=
open
(
ruta
,
"r"
)
total
=
0
for
linea
in
f
:
total
+=
1
try
:
ret
.
append
(
Dato
(
linea
))
except
:
continue
f
.
close
()
return
ret
# Obtiene los registros manipulando las extensiones
def
manipularFiltradas
(
ruta
,
extensiones
,
valor
):
ret
=
[]
ret
=
[]
#Leo el fichero
f
=
open
(
ruta
,
"r"
)
f
=
open
(
ruta
,
"r"
)
total
=
0
total
=
0
for
linea
in
f
:
for
linea
in
f
:
total
+=
1
total
+=
1
try
:
try
:
aux
=
Dato
(
linea
)
#Obtengo el dato
admitido
=
valor
aux
=
Dato
(
linea
)
for
ext
in
extensiones
:
#Compruebo si el dato pertenece a una extension NO admitida
admitir
=
True
for
ext
in
extensionesNoAdmitidas
:
if
ext
in
aux
.
url
:
if
ext
in
aux
.
url
:
admitido
=
not
valor
admitir
=
False
if
admitido
:
#Si no se corresponde con ninguna extension NO admitida, compruebo si hay que filtrar con las admitidas
ret
.
append
(
aux
)
if
admitir
:
if
(
len
(
extensionesAdmitidas
)
==
0
):
ret
.
append
(
aux
)
else
:
#Filtro con las admitidas
for
ext
in
extensionesAdmitidas
:
if
ext
in
aux
.
url
:
ret
.
append
(
aux
)
except
:
except
:
continue
continue
f
.
close
()
f
.
close
()
#Compruebo si hay que hacer el e-Spidering
if
espidering
:
ret
=
eSpidering
(
ret
)
print
(
"Procesados "
,
len
(
ret
),
"registros"
)
return
ret
return
ret
# Se leen los ficheros con spidering, sin extensiones, el ultimo valor da igual (V o F) si no hay extensiones
# Se leen los ficheros con spidering, sin extensiones, el ultimo valor da igual (V o F) si no hay extensiones
registros
=
leerFicheroLog
(
"../access_log_Aug95_reducido"
,
True
,
None
,
None
)
registros
=
leerFicheroLog
(
"../access_log_Aug95_reducido"
,
True
,
[],
[]
)
registros
=
identificacionUsuarios
(
registros
)
#
registros = identificacionUsuarios(registros)
informe
=
(
"Host Remoto: {}. Marca de tiempo: {}"
)
informe
=
(
"Host Remoto: {}. Marca de tiempo: {}"
)
print
(
"Registros:"
)
print
(
"Registros:"
)
for
i
in
registros
:
for
i
in
registros
:
print
(
informe
.
format
(
i
.
hostRemoto
,
i
.
marcaTiempo
))
print
(
informe
.
format
(
i
.
hostRemoto
,
i
.
url
))
codigo/__pycache__/Dato.cpython-39.opt-2.pyc
View file @
e9d9b5b8
No preview for this file type
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