У меня есть файл журнала wget и вы хотите проанализировать файл, чтобы я мог извлечь необходимую информацию для каждой записи журнала. Например, IP-адрес, временная метка, URL-адрес и т. Д.Parse wget log file in python
Ниже приведен пример файла журнала. Количество строк и деталей информации не одинаково для каждой записи. То, что является последовательным, - это обозначение каждой строки.
Я могу выделить отдельные строки, но я хочу многомерный массив (или аналогичный):
import re
f = open('c:/r1/log.txt', 'r').read()
split_log = re.findall('--[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}.*', f)
print split_log
print len(split_log)
for element in split_log:
print(element)
####### Start log file example
2014-11-22 10:51:31 (96.9 KB/s) - `C:/r1/www.itb.ie/AboutITB/index.html' saved [13302]
--2014-11-22 10:51:31-- http://www.itb.ie/CurrentStudents/index.html
Connecting to www.itb.ie|193.1.36.24|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: ignored [text/html]
Saving to: `C:/r1/www.itb.ie/CurrentStudents/index.html'
0K .......... ....... 109K=0.2s
2014-11-22 10:51:31 (109 KB/s) - `C:/r1/www.itb.ie/CurrentStudents/index.html' saved [17429]
--2014-11-22 10:51:32-- h ttp://www.itb.ie/Vacancies/index.html
Connecting to www.itb.ie|193.1.36.24|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: ignored [text/html]
Saving to: `C:/r1/www.itb.ie/Vacancies/index.html'
0K .......... .......... .. 118K=0.2s
2014-11-22 10:51:32 (118 KB/s) - `C:/r1/www.itb.ie/Vacancies/index.html' saved [23010]
--2014-11-22 10:51:32-- h ttp://www.itb.ie/Location/howtogetthere.html
Connecting to www.itb.ie|193.1.36.24|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: ignored [text/html]
Saving to: `C:/r1/www.itb.ie/Location/howtogetthere.html'
0K .......... ....... 111K=0.2s
Каков ваш ожидаемый результат? –
В конце концов я напишу записи в базу данных. Например. IP-адрес, URL-адрес, данные и т. Д. Из приведенного выше примера я поэтому потребую что-то вроде даты (1), url (1), http_request (1) для первой записи в журнале, а затем даты (2), url (2), http_request (2) для второго и т. д. – Markus