Correciones

parent f407b926
......@@ -83,8 +83,8 @@ def modificarFecha(cadena):
# Comprobación
p = Dato(
"in24.inetnebr.com - - [01/Aug/1995:00:00:01 -0400] \"GET /shuttle/missions/sts-68/news/sts-68-mcc-05.txt HTTP/1.0\" 200 1839")
informe = ('Host Remoto: {}\nFecha: {}\nMétodo de Petición: {}\nProtocolo: {}\nstatusCode: {}\nVolumen de transferencia: {}\n'
'Marca de tiempo: {}\n')
print(informe.format(p.hostRemoto, p.fecha, p.metodoPeticion, p.vProtocolo, p.statusCode, p.volumenTransf, p.marcaTiempo))
# p = Dato(
# "in24.inetnebr.com - - [01/Aug/1995:00:00:01 -0400] \"GET /shuttle/missions/sts-68/news/sts-68-mcc-05.txt HTTP/1.0\" 200 1839")
# informe = ('Host Remoto: {}\nFecha: {}\nMétodo de Petición: {}\nProtocolo: {}\nstatusCode: {}\nVolumen de transferencia: {}\n'
# 'Marca de tiempo: {}\n')
# print(informe.format(p.hostRemoto, p.fecha, p.metodoPeticion, p.vProtocolo, p.statusCode, p.volumenTransf, p.marcaTiempo))
\ No newline at end of file
import Dato
from Dato import Dato
# Realiza
def eSpidering(reg):
aQuitar = ["spider", "bot", "crawler"]
c = 0
......@@ -13,14 +13,19 @@ def eSpidering(reg):
return reg
# Identifica a los usuarios
def identificacionUsuarios(reg):
aux = []
ret = []
# Cojo las IPs distintas del conjunto de datos
for r in reg:
aux.append(r.hostRemoto)
aux = set(aux)
# Ordeno los distintos registros de cada usuario de mas antiguos a mas nuevos
return ordenaRegistros(reg, aux)
# Ordeno los distintos registros de cada usuario de mas antiguos a mas nuevos
def ordenaRegistros(reg, aux):
ret = []
for usuario in aux:
con = []
for r in reg:
......@@ -35,72 +40,67 @@ def identificacionUsuarios(reg):
return ret
def leerFicheroLog(ruta, espidering):
registros = []
f = open(ruta, "r")
total = 0
for linea in f:
total += 1
try:
registros.append(Dato(linea))
except:
continue
f.close()
# Lee el fichero log
def leerFicheroLog(ruta, espidering, extensiones, valor):
# 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
def leerFicheroLogEliminarFiltradas(ruta, extensionesNoDeseadas, espidering):
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:
aux = Dato(linea)
admitido = True
for ext in extensionesNoDeseadas:
if ext in aux.url:
admitido = false
if admitido:
registros.append(aux)
ret.append(Dato(linea))
except:
continue
f.close()
if espidering:
registros = eSpidering(registros)
print("Procesados ", len(registros), " registros")
return registros
return ret
# Obtiene los registros manipulando las extensiones
def manipularFiltradas(ruta, extensiones, valor):
ret = []
def leerFicheroLogAceptarFiltradas(ruta, extensionesNoDeseadas, espidering):
registros = []
f = open(ruta, "r")
total = 0
for linea in f:
total += 1
try:
aux = Dato(linea)
admitido = False
for ext in extensionesNoDeseadas:
admitido = valor
for ext in extensiones:
if ext in aux.url:
admitido = True
admitido = not valor
if admitido:
registros.append(aux)
ret.append(aux)
except:
continue
f.close()
if espidering:
registros = eSpidering(registros)
print("Procesados ", len(registros), " registros")
return registros
return ret
registros = leerFicheroLog("../access_log_Aug95_reducido", True)
# 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 = identificacionUsuarios(registros)
informe = ("Host Remoto: {}. Marca de tiempo: {}")
print("Registros:")
for i in registros:
print(i.hostRemoto, " ", i.marcaTiempo)
print(informe.format(i.hostRemoto, i.marcaTiempo))
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment