Хорошо, у меня есть несколько журналов IIS, которые я хотел бы проанализировать с Python (который я довольно новичок в atm)Пример журнала IIS выглядит следующим образом:
#Software: Microsoft Internet Information Server 6.0
#Version: 1.0
#Date: 1998-11-19 22:48:39
#Fields: date time c-ip cs-username s-ip cs-method cs-uri-stem cs-uri-query sc-status sc-bytes cs-bytes time-taken cs-version cs(User-Agent) cs(Cookie) cs(Referrer)
1998-11-19 22:48:39 206.175.82.5 - 208.201.133.173 GET /global/images/navlineboards.gif - 200 540 324 157 HTTP/1.0 Mozilla/4.0+(compatible;+MSIE+4.01;+Windows+95) USERID=CustomerA;+IMPID=01234 http://www.loganalyzer.net
1998-11-20 22:55:39 206.175.82.8 - 208.201.133.173 GET /global/something.pdf - 200 540 324 157 HTTP/1.0 Mozilla/4.0+(compatible;+MSIE+4.01;+Windows+95) USERID=CustomerA;+IMPID=01234 http://www.loganalyzer.net
Здесь есть только 2 строки данных журнала, где у меня есть тысячи на журнал. Итак, это только краткий пример.
Из этих журналов я хотел бы извлечь такие данные, как: количество IP-адресов клиентов, которые установили наибольшее количество подключений, количество файлов, которые были загружены чаще всего, количество URI, которые были посещены чаще всего, и т. Д.чтобы получить некоторую статистику ... Например, в результате я хотел бы видеть что-то вроде этого:
file download_count
example1.pdf 9
example2.pdf 6
example3.doc 2
или
IP file hits
192.168.1.5 /sample/example1.gif 8
192.168.1.9 /files/example2.gif 8
Что я не уверен, так это как подойтиэто по-питонски.Сначала я думал, что разделю каждую строку журнала, составлю из нее список и добавлю каждую в больший список (я вижу его как двумерный массив).Затем я перешел к этапу извлечения статистики из этого большого списка, и теперь я думаю, что, возможно, было бы лучше составить словарь из всех этих данных и посчитать их по ключам dict и значениям dict?Это лучший подход, чем использование списков?Если мне лучше использовать списки, как мне подходить к этому?Что мне гуглить, что я ищу?
Так что я ищу идеи о том, как это обычно делается.Спасибо.