国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python腳本實現統計日志文件中的ip訪問次數代碼分享

2020-02-23 05:38:37
字體:
來源:轉載
供稿:網友

適用的日志格式:

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()    
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贵阳市| 习水县| 军事| 托克逊县| 宁德市| 高台县| 涟源市| 云南省| 岱山县| 彰武县| 湖州市| 九龙城区| 上饶县| 中江县| 黎川县| 新平| 尼木县| 耿马| 柘城县| 仪征市| 洪洞县| 泸西县| 东乡县| 开原市| 砚山县| 临泉县| 昆明市| 江油市| 象州县| 关岭| 安平县| 开封县| 南漳县| 柳江县| 汨罗市| 靖江市| 毕节市| 海宁市| 嘉禾县| 德阳市| 和林格尔县|