Python实现从log日志中提取ip的方法【正则提取】


Posted in Python onMarch 31, 2018

本文实例讲述了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-8
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import pandas as pd
import re
import time
import requests
time1=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中List的sort方法指南
Sep 01 Python
Python是编译运行的验证方法
Jan 30 Python
几个提升Python运行效率的方法之间的对比
Apr 03 Python
Python读取txt文件数据的方法(用于接口自动化参数化数据)
Jun 27 Python
Python中几种属性访问的区别与用法详解
Oct 10 Python
Python创建一个空的dataframe,并循环赋值的方法
Nov 08 Python
python元组的概念知识点
Nov 19 Python
python实现将视频按帧读取到自定义目录
Dec 10 Python
使用python turtle画高达
Jan 19 Python
python 实现简易的记事本
Nov 30 Python
python 如何在list中找Topk的数值和索引
May 20 Python
详解Python生成器和基于生成器的协程
Jun 03 Python
Python+OpenCV实现车牌字符分割和识别
Mar 31 #Python
python Opencv将图片转为字符画
Feb 19 #Python
python实现批量按比例缩放图片效果
Mar 30 #Python
python放大图片和画方格实现算法
Mar 30 #Python
python实现数独游戏 java简单实现数独游戏
Mar 30 #Python
简单实现python数独游戏
Mar 30 #Python
Python使用MD5加密算法对字符串进行加密操作示例
Mar 30 #Python
You might like
漫荒推荐:画风超赞的国风漫画推荐 超长假期不无聊
2020/03/08 国漫
thinkphp 一个页面使用2次分页的实现方法
2013/07/15 PHP
调试PHP程序的多种方法介绍
2014/11/06 PHP
在WordPress中实现评论头像的自定义默认和延迟加载
2015/11/24 PHP
Laravel 加载第三方类库的方法
2018/04/20 PHP
PHP session垃圾回收机制实例分析
2019/06/28 PHP
JavaScript CSS修改学习第二章 样式
2010/02/19 Javascript
JQuery EasyUI 对话框的使用方法
2010/10/24 Javascript
JS获取iframe中longdesc属性的方法
2015/04/01 Javascript
javascript正则表达式基础知识入门
2015/04/20 Javascript
JavaScript实现仿新浪微博大厅和腾讯微博首页滚动特效源码
2015/09/15 Javascript
分享自己用JS做的扫雷小游戏
2016/02/17 Javascript
详解JavaScript RegExp对象
2017/02/04 Javascript
微信小程序访问node.js接口服务器搭建教程
2017/04/25 Javascript
初试vue-cli使用HBuilderx打包app的坑
2019/07/17 Javascript
详解vue 命名视图
2019/08/14 Javascript
不刷新网页就能链接新的js文件方法总结
2020/03/01 Javascript
js基于canvas实现时钟组件
2021/02/07 Javascript
[00:34]TI7不朽珍藏III——纯金地穴编织者饰品展示
2017/07/15 DOTA
Python yield 使用方法浅析
2017/05/20 Python
urllib和BeautifulSoup爬取维基百科的词条简单实例
2018/01/17 Python
Python实现屏幕截图的两种方式
2018/02/05 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
2019/03/18 Python
python scipy卷积运算的实现方法
2019/09/16 Python
浅谈keras2 predict和fit_generator的坑
2020/06/17 Python
python 实现围棋游戏(纯tkinter gui)
2020/11/13 Python
详解Html5 监听拦截Android返回键方法
2018/04/18 HTML / CSS
澳大利亚领先的孕妇服装品牌:Mamaway
2018/08/14 全球购物
来自南加州灵感的工作和娱乐服装:TravisMathew
2019/05/01 全球购物
国际贸易毕业生求职信范文
2014/02/21 职场文书
竞争与合作演讲稿
2014/05/12 职场文书
中华美德颂演讲稿
2014/05/20 职场文书
2014年宣传部工作总结
2014/11/12 职场文书
4S店销售内勤岗位职责
2015/04/13 职场文书
Vue vee-validate插件的简单使用
2021/06/22 Vue.js
python中Pyqt5使用Qlabel标签播放视频
2022/04/22 Python