700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python基于nginx访问日志统计客户端ip访问量

python基于nginx访问日志统计客户端ip访问量

时间:2023-01-19 04:33:49

相关推荐

python基于nginx访问日志统计客户端ip访问量

后端开发|php教程

nbsp,quot,views,ip,view

后端开发-php教程

专业的统计网站,比如百度统计,Google Analytics,cnzz等统计后台提供的都是站长常用的统计指标,比如uv,pv,在线时长,ip等,另外由于网络原因,我发现Google Analytics会比百度统计多几百的ip,所以想自己写脚本来了解下真正的访问量有多少,不过基于nginx的访问日志会比统计后台多不少,因为有不少蜘蛛的访问也会被统计进来,还有静态文件的统计,其实如果算法改进的话完全可以过滤掉那些无用的统计数据,今天给牛牛们分享下最基础的统计,另外也是为了学习和回顾python语言。

微信php开发源码下载,vscode自带终端字体,ubuntu清除mysql,tomcat防止重复求,爬虫约定,dzsoft php,勒流seo优化服务,网站 服务器 上传工具,.net 模板切换lzw

比如,服务器上有nginx的log如下:

相册手机网站源码,ubuntu c 时间记录,安装tomcat7服务失败,java爬虫xml配置,怎么修改php探针的路径,seo渗透主lzw

221.221.155.54 – – [02/Aug/:15:16:11 +0800] “GET / HTTP/1.1” 200 8482 “/” “Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36” “-” “0.020”

221.221.155.53 – – [02/Aug/:15:16:11 +0800] “GET / HTTP/1.1” 200 8482 “/” “Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36” “-” “0.020”

221.221.155.54 – – [02/Aug/:15:16:11 +0800] “GET / HTTP/1.1” 200 8482 “/” “Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36” “-” “0.020”

培训公司网站源码,vscode arm,ubuntu 获取源码,tomcat威士忌,sqlite删除找回,万网云虚拟服务器,手机图片浏览器插件,nodejs前端游戏框架,chrome 插件爬虫,php判断路径是否存在,网上seo课程,cpa网站 支付接入,易语言(网页填表)方法,ecshop安装模板不可写,html手机页面缓存,家政服务管理系统模板,微信小程序开发费用lzw

统计脚本如下:

stat_ip.py

#encoding=utf8

import re

zuidaima_nginx_log_path=”/usr/local/nginx/logs/.access.log”

pattern = pile(r’^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}’)

def stat_ip_views(log_path):

ret={}

f = open(log_path, “r”)

for line in f:

match = pattern.match(line)

if match:

ip=match.group(0)

if ip in ret:

views=ret[ip]

else:

views=0

views=views+1

ret[ip]=views

return ret

def run():

ip_views=stat_ip_views(zuidaima_nginx_log_path)

max_ip_view={}

for ip in ip_views:

views=ip_views[ip]

if len(max_ip_view)==0:

max_ip_view[ip]=views

else:

_ip=max_ip_view.keys()[0]

_views=max_ip_view[_ip]

if views>_views:

max_ip_view[ip]=views

max_ip_view.pop(_ip)

print “ip:”, ip, “,views:”, views

#总共有多少ip

print “total:”, len(ip_views)

#最大访问的ip

print “max_ip_view:”, max_ip_view

run()

运行结果如下:

ip: 221.221.155.53 ,views: 1

ip: 221.221.155.54 ,views: 2

total: 2

max_ip_view: {‘221.221.155.54’: 2}

这样得到了所有ip的访问量及其最大ip的访问。

以上就介绍了python基于nginx访问日志统计客户端ip访问量,包括了方面的内容,希望对PHP教学有兴趣的朋友有所帮助。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。