Python 分析Nginx访问日志并保存到MySQL数据库实例 使用Python 分析Nginx access 日志,根据Nginx日志格式进行分割并存入MySQL数据库。一、Nginx access日志格式如下:复制代码 代码如下:$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"' #使用的是nginx默认日志格式二、Nginx access 日志内容如下:复制代码 代码如下:182.19.31.129 - - [2013-08-13T00:00:01-07:00] "GET /css/anniversary.css HTTP/1.1" 304 0 "http://www.chlinux.net/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36" "-"三、下面是Python 分析nginx日志的Python代码:复制代码 代码如下:#!/usr/bin/env python#coding:utf8import osimport fileinputimport reimport sysimport MySQLdb#日志的位置logfile=open("access_20130812.log")#使用的nginx默认日志格式$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"'#日志分析正则表达式#203.208.60.230ipP = r"?P[\d.]*"#以[开始,除[]以外的任意字符 防止匹配上下个[]项目(也可以使用非贪婪匹配*?) 不在中括号里的.可以匹配换行外的任意字符 *这样地重复是"贪婪的“ 表达式引擎会试着重复尽可能多的次数。#以]结束#[21/Jan/2011:15:04:41 +0800]timeP = r"""?P