python腳本實現(xiàn)統(tǒng)計日志文件中的ip訪問次數(shù)代碼分享
更新時間:2014年08月06日 10:52:31 投稿:junjie
這篇文章主要介紹了python腳本實現(xiàn)統(tǒng)計日志文件中的ip訪問次數(shù)代碼分享,注意此腳本只適用ip在每行開頭的日志文件,需要的朋友可以參考下
適用的日志格式:
106.45.185.214 - - [06/Aug/2014:07:38:59 +0800] "GET / HTTP/1.0" 200 10 "-" "-" 171.104.119.22 - - [06/Aug/2014:08:55:01 +0800] "GET / HTTP/1.0" 200 10 "-" "-" 27.31.238.242 - - [06/Aug/2014:09:43:19 +0800] "GET / HTTP/1.0" 200 10 "-" "-" 218.65.202.131 - - [06/Aug/2014:10:33:59 +0800] "GET / HTTP/1.0" 200 10 "-" "-"
以上為nginx的日志,本程序只適合用于IP在開頭并用空格分開的這種格式。
實例代碼:
import sys class Log: def __init__(self, filename,dic,count): self.filename = filename self.dic=dic self.count=count def parse(self): i=1 f=file(self.filename) while True: line=f.readline() if len(line)==0: break ip=line.split(' ') if ip[0] in dic: self.dic[ip[0]]=self.dic[ip[0]]+1 else: self.dic[ip[0]]=i soredic=sorted(self.dic.items(), key=lambda d:d[1],reverse=True) counts=0; for item in soredic: if counts==int(self.count): break print("IP:%s Total Times: %s"%(item[0],item[1])) counts=counts+1 f.close() if __name__=="__main__": if len(sys.argv)<3: print('usage:log.py log.log toptimes\nexample log.py log.log 20\ncode by iswin') sys.exit() dic={} log=Log(sys.argv[1],dic,sys.argv[2]) log.parse()
您可能感興趣的文章:
- Python統(tǒng)計列表中的重復項出現(xiàn)的次數(shù)的方法
- python統(tǒng)計字符串中指定字符出現(xiàn)次數(shù)的方法
- Python統(tǒng)計單詞出現(xiàn)的次數(shù)
- Python統(tǒng)計日志中每個IP出現(xiàn)次數(shù)的方法
- Python實現(xiàn)統(tǒng)計給定列表中指定數(shù)字出現(xiàn)次數(shù)的方法
- python 統(tǒng)計數(shù)組中元素出現(xiàn)次數(shù)并進行排序的實例
- Linux上使用Python統(tǒng)計每天的鍵盤輸入次數(shù)
- python用字典統(tǒng)計單詞或漢字詞個數(shù)示例
- Python實現(xiàn)統(tǒng)計單詞出現(xiàn)的個數(shù)
- python統(tǒng)計文本文件內(nèi)單詞數(shù)量的方法
- Python實現(xiàn)的統(tǒng)計文章單詞次數(shù)功能示例
相關文章
Django+Bootstrap實現(xiàn)計算器的示例代碼
本文主要介紹了Django+Bootstrap實現(xiàn)計算器的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11Python中Django與Echarts的結合用法圖文詳解
ECharts是一個第三方控件,下面這篇文章主要給大家介紹了關于Python中Django與Echarts的結合用法,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2022-10-10Flask交互基礎(GET、 POST 、PUT、 DELETE)的使用
這篇文章主要介紹了Flask交互基礎(GET、 POST 、PUT、 DELETE)的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-04-04使用python的pexpect模塊,實現(xiàn)遠程免密登錄的示例
今天小編就為大家分享一篇使用python的pexpect模塊,實現(xiàn)遠程免密登錄的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02PyCharm無法調(diào)用numpy(報錯ModuleNotFoundError:No?module?named?&a
本文主要介紹了PyCharm無法調(diào)用numpy(報錯ModuleNotFoundError:No?module?named?'numpy'),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02Python實現(xiàn)統(tǒng)計代碼行的方法分析
這篇文章主要介紹了Python實現(xiàn)統(tǒng)計代碼行的方法,結合實例形式分析了Python針對代碼行數(shù)的計算實現(xiàn)步驟與操作技巧,需要的朋友可以參考下2017-07-07python?包實現(xiàn)?urllib?網(wǎng)絡請求操作
這篇文章主要介紹了python包實現(xiàn)urllib網(wǎng)絡請求操作,urllib?是?Python?標準庫中用于網(wǎng)絡請求的庫,下面urllib的相關資料介紹,需要的小伙伴可以參考一下2022-04-04