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

首頁 > 編程 > Python > 正文

Python實現從log日志中提取ip的方法【正則提取】

2020-01-04 15:28:39
字體:
來源:轉載
供稿:網友

本文實例講述了Python實現從log日志中提取ip的方法。分享給大家供大家參考,具體如下:

log日志內容如下(myjob.log):

124.90.53.68 - - [05/Feb/2018 11:37:07] "GET /favicon.ico HTTP/1.1" 404 -61.148.245.145 - - [05/Feb/2018 12:37:44] "GET / HTTP/1.1" 200 -61.148.245.145 - - [05/Feb/2018 12:37:44] "GET /apple-touch-icon-120x120-precomposed.png HTTP/1.1" 404 -61.148.245.145 - - [05/Feb/2018 12:37:44] "GET /apple-touch-icon-120x120.png HTTP/1.1" 404 -61.148.245.145 - - [05/Feb/2018 12:37:45] "GET /apple-touch-icon-precomposed.png HTTP/1.1" 404 -61.148.245.145 - - [05/Feb/2018 12:37:45] "GET /apple-touch-icon.png HTTP/1.1" 404 -61.148.245.145 - - [05/Feb/2018 12:37:45] "GET /static/favicon.ico HTTP/1.1" 200 -101.226.33.218 - - [05/Feb/2018 13:07:39] "GET / HTTP/1.1" 200 -101.226.33.219 - - [05/Feb/2018 13:09:46] "GET / HTTP/1.1" 200 -101.226.33.219 - - [05/Feb/2018 13:09:46] "GET /static/youkulogo.png HTTP/1.1" 200 -101.226.33.219 - - [05/Feb/2018 13:09:46] "GET /static/iqiyi.png HTTP/1.1" 200 -101.226.33.219 - - [05/Feb/2018 13:09:46] "GET /static/qqlogo.png HTTP/1.1" 200 -124.202.223.62 - - [05/Feb/2018 14:29:45] "GET / HTTP/1.1" 200 -124.202.223.62 - - [05/Feb/2018 14:29:47] "GET /static/youkulogo.png HTTP/1.1" 200 -124.202.223.62 - - [05/Feb/2018 14:29:48] "GET /static/qqlogo.png HTTP/1.1" 200 -124.202.223.62 - - [05/Feb/2018 14:29:48] "GET /static/iqiyi.png HTTP/1.1" 200 -124.202.223.62 - - [05/Feb/2018 14:29:49] "GET /static/favicon.ico HTTP/1.1" 200 -

提取ip:

# encoding: utf-8import sysreload(sys)sys.setdefaultencoding('utf-8')import pandas as pdimport reimport timeimport requeststime1=time.time()######函數功能:能夠提取ip地址,并且去重################def read_file(input_file_name,output_file_name):  _fLog = open(input_file_name)  sep = '/n'  ip_list=[]  for each in _fLog:    ip=re.findall(r'(?<![/./d])(?:/d{1,3}/.){3}/d{1,3}(?![/./d])',str(each),re.S)    ip_list.append(ip[0])  # 列表去重:通過set方法進行處理  ids = list(set(ip_list))  print "共解析ip個數:%s "% len(ids)  ##寫出數據到本地  # 設置輸出文件路徑  out = open(output_file_name, "a")  # out.write("ip" + sep)  for each in ids:    print each    out.write(each + sep)  ##關閉連接  out.close()  _fLog.close()  print "ip提取完畢~~"####主函數################if __name__ == '__main__':  input_file_name = "C:/myjob.log"  output_file_name = "c:/myjob.txt"  read_file(input_file_name, output_file_name)  time2 = time.time()  print u'總共耗時:' + str(time2 - time1) + 's'

運行結果:

共解析ip個數:5
61.148.245.145
124.90.53.68
124.202.223.62
101.226.33.219
101.226.33.218
ip提取完畢~~
總共耗時:0.000999927520752s
Process finished with exit code 0

希望本文所述對大家Python程序設計有所幫助。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 虞城县| 晴隆县| 哈密市| 乐至县| 五大连池市| 德庆县| 宣恩县| 濉溪县| 浙江省| 高雄县| 新沂市| 鞍山市| 武城县| 千阳县| 凭祥市| 桓仁| 微山县| 安多县| 八宿县| 余江县| 阜宁县| 麻阳| 嵊州市| 青铜峡市| 营口市| 尖扎县| 通州区| 禄劝| 上饶县| 广东省| 邢台县| 衡阳市| 神木县| 楚雄市| 连城县| 邹城市| 汝州市| 那坡县| 大同县| 上蔡县| 忻州市|