强> 强>
# !/usr/bin/env python # _ * _coding: utf-8 _ * _ 时间=__author__ “lvnian” # !/usr/bin env  python #,编码:utf - 8 import MySQLdb  as mysql import 系统,操作系统 时间=db mysql.connect(用户=案?passwd=皒xxxx@2015”, db=癷nt”,主机=?92.168.10.12”),#数据库连接信息 db.autocommit(真正的) 时间=cur db.cursor () cur.execute (set names  utf8) dict_list =, {} with 开放(access.log), as logfin: ,,,for line 拷贝logfin: ,,,,,,,arr =, line.split (', ') ,,,,,,,#,获取ip url 和地位 ,,,,,,,ip =, arr [0] ,,,,,,,url =, arr [6] ,,,,,,,status =, arr [8] ,,,,,,,#,ip url 当关键和地位,每次统计+ 1 ,,,,,,,dict_list [(ip、url、状态)],=,dict_list.get ((ip、url、状态),0)+ 1 ,,,#,转换成列的表 ,,,ip_list =, ((k [0], k [1], [2], v), for k, v 拷贝dict_list.items ()) ,,,#,按照统计数量排序,排序后保存到数据库。 ,,,for insert 拷贝排序(ip_list、关键=lambda x: x[3],反向=True): #如果只想提取前十行的话可以[10]即可。 ,,,,,,,print insert , #测试用的,可以不要。整个功能是输出一行,然后保存到数据库。 ,,,,,,,sql =,“insert loginfo  values (“% s”、“% s”、“% s”、“% s”)”, %,插入 ,,,,,,,print sql ,,,,,,,cur.execute (sql)
<强> 强>
强>
use 强度; show 表; ,CREATE TABLE “loginfo”, ( “知识产权”,才能text DEFAULT 空, “url”,才能longtext DEFAULT 空, “状态”,才能varchar (200), DEFAULT 空, “count_num”,才能varchar (200), DEFAULT NULL );
<强> 强>
mysql>, select *,得到loginfo where count_num 在3,limit 5,; + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - + |,ip ,,,,,,,,,,,, |, url ,,,,,,,,,,,,,,,,,, |, status | count_num | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - + |,121.42.0.85 ,,, |,/,,,,,,,,,,,,,,,,,,,,, |, 200,,,, |, 39岁,,,,,,,| |,121.42.0.37 ,,, |,/,,,,,,,,,,,,,,,,,,,,, |, 403,,,, |, 34岁,,,,,,,| |,121.42.0.39 ,,, |,/,,,,,,,,,,,,,,,,,,,,, |, 403,,,, |, 34岁,,,,,,,| | |,222.95.248.220 HTTP://www.baidu.com/ |, 200,,,, |, 26岁,,,,,,,| |,23.251.49.10 ,, |, www.baidu.com: 443,,,,, |, 400,,,, |, 21岁,,,,,,,| + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - + 5,rows set 拷贝;(0.00,sec) mysql>
# !/usr/bin/env python # _ * _coding: utf-8 _ * _ 时间=__author__ “lvnian” # !/usr/bin env  python #,编码:utf - 8 import MySQLdb  as mysql import 系统,操作系统,时间 import datetime 时间=addtime datetime.datetime.now () 时间=db mysql.connect(用户=案?passwd=皒xxx@2015”, db=癷nt”,主机=?92.168.10.12”),#数据库连接信息 db.autocommit(真正的) 时间=cur db.cursor () cur.execute (set names  utf8) dict_list =, {} with 开放(access.log), as logfin: ,,,for line 拷贝logfin: ,,,,,,,arr =, line.split (', ') ,,,,,,,#,获取ip url 和地位 null null null null null null null null null null null null null null null null null null null null null null null null null nullpython分析nginx日志的ip、url、地位