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中的编码知识整理汇总
Jan 26 Python
在Windows中设置Python环境变量的实例讲解
Apr 28 Python
python自动发送测试报告邮件功能的实现
Jan 22 Python
Python之NumPy(axis=0 与axis=1)区分详解
May 27 Python
python basemap 画出经纬度并标定的实例
Jul 09 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
Aug 30 Python
python中open函数的基本用法示例
Sep 07 Python
Python 音频生成器的实现示例
Dec 24 Python
python为什么要安装到c盘
Jul 20 Python
python缩进长度是否统一
Aug 02 Python
Python+Appium新手教程
Apr 17 Python
pyqt5蒙版遮罩mask,setmask的使用
Jun 11 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
Apache 配置详解(最好的APACHE配置教程)
2010/07/04 PHP
php批量删除cookie的简单实现方法
2015/01/26 PHP
php对象在内存中的存在形式分析
2015/02/03 PHP
php脚本运行时的超时机制详解
2016/02/17 PHP
Yii2框架数据库简单的增删改查语法小结
2016/08/31 PHP
使用jQuery实现的网页版的个人简历(可换肤)
2013/04/19 Javascript
jQuery的$.proxy()应用示例介绍
2014/04/03 Javascript
一个JavaScript处理textarea中的字符成每一行实例
2014/09/22 Javascript
js利用正则表达式检验输入内容是否为网址
2016/07/05 Javascript
微信小程序 scroll-view隐藏滚动条详解
2017/01/16 Javascript
用move.js库实现百叶窗特效
2017/02/08 Javascript
微信小程序开发背景图显示功能
2018/08/08 Javascript
JavaScript This指向问题详解
2019/11/25 Javascript
[01:05:07]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第一场2月1日
2021/03/11 DOTA
Python计算三维矢量幅度的方法
2015/06/15 Python
python根据京东商品url获取产品价格
2015/08/09 Python
python万年历实现代码 含运行结果
2017/05/20 Python
Python实现判断字符串中包含某个字符的判断函数示例
2018/01/08 Python
使用Python计算玩彩票赢钱概率
2019/06/26 Python
Django框架之登录后自定义跳转页面的实现方法
2019/07/18 Python
Python的垃圾回收机制详解
2019/08/28 Python
Python3实现二叉树的最大深度
2019/09/30 Python
pytorch AvgPool2d函数使用详解
2020/01/03 Python
python super用法及原理详解
2020/01/20 Python
Python实现随机生成任意数量车牌号
2020/01/21 Python
浅谈Tensorflow加载Vgg预训练模型的几个注意事项
2020/05/26 Python
virtualenv介绍及简明教程
2020/06/23 Python
详解CSS3选择器的使用方法汇总
2015/11/24 HTML / CSS
台湾最大网路书店:博客来
2018/03/18 全球购物
店长岗位职责
2013/11/21 职场文书
个人简历自我评价
2014/02/02 职场文书
中西医专业毕业生职业规划书
2014/02/24 职场文书
做人民满意的公务员活动方案
2014/08/25 职场文书
市级三好学生评语
2014/12/29 职场文书
法定代表人资格证明书
2015/06/18 职场文书
python数据可视化使用pyfinance分析证券收益示例详解
2021/11/20 Python