快捷搜索:

python脚本实现分析dns日志并对受访域名排行

python脚本实现分析dns日志并对受访域名排行

  前段时间有个需求是要求查一段时间的dns上的域名访问次数排行(top100),没办法,只好慢慢的去解析dns日志呗,正好学习了python,拿来练练手。

  首先看下原始数据文件,即dns日志内容,下面是抽取的几条有代表性的日志,2×8.2×1.2x.1×5 这种中间的x是相应的数字被我抹去了。

  可以看出中间的日志采用的是 分割的,shu.taobao.com 即为我们想要的数据域名,至于域名访问次数统计,则每个域名的一条记录算一次访问。由此我们可以确定一下两点:

  a)我们的dns日志都是隔一段时间自动切割、压缩为gz文件,因此首先必须采用gzip.open去打开gz文件,这里需要导入gz库。

  b)要求查找的是一段时间的域名排行,所以必须有得过滤一段时间,这里我采用了正则的方式去过滤,so导入re正则库。

  c)排序,必须对结果进行排序,然后输出topXX的结果,由于是采用字典保存的,而字典是乱想的,所以必须有合适的办法去排序,字典的iteritems正好适用。

  最后的raw_input(“enter a word to finish”) 是因为我在win7下测试的asp教程,默认执行完就一闪而过了,加入这行纯碎是为了观察结果,linux下可以删去。

  大致实现了相应的要求,只是很多的文件处理的不大好。例如采用正规去过滤时间段,在数据量很大的情况下会对性能有影响。同时感谢同事,最后的字典的排序方法我是抄他的,感谢个~

  本篇文章给大家带来的内容是关于Python如何筛选序列中的元素 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。1、需求序列中含有一些数据,我们需要提取其中的值或根据某些标准对序列做删减,2、解决方案要筛选序列中的数据,通常最简单的方法是使用列表推导式。例如:my...查看详情

  对于英文文本分句比较简单,只要根据终结符.划分就好,中文文本分句看似很简单,但是实现时会遇到很多麻烦,尤其是处理社交媒体数据时,会遇到文本格式不规范等问题。下面代码针对一段一段的短文本组成了文档分句import redef cut_sent(infile, outfile):...查看详情

  前言这篇文章主要介绍了linux中如何使用python3获取ip地址,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下。一、不带参数#!/usr/bin/python # -*- coding: UTF-8 -*- import o...查看详情

  Python 处理 JSON 数据时,dumps 函数是经常用到的,当 JSON 数据中有特殊类型时,往往是比较头疼的,因为经常会报这样一个错误。自定义编码类#!/usr/bin/env python# -*- coding:utf-8 -*-# Author: wxnacy(w...查看详情

  如下所示:list=[1,2,3,4,5,6,7,8,9,0,11,0,13,14,15,16,17,18,19,20]#把list分为长度为5的4段for j in range(0,len(list),5): matrix.append(list[j:j+5])matrix=...查看详情

  在pycharm使用过程中,对于每次新建的python文件的时候,关于代码编写者的一些个人信息快捷填写,使用模板的方式比较方便。方法如下:1.打开pycharm,选择File-Settings2.Editor –> File and Code Templates –>...查看详情

  最近由于开发业务量陡增,脚本一个接一个,一天好几个,为了便于后期的维护和调优,我习惯在前面加一些跟脚本相关的信息,如业务需求、开发思路、实现过程、开发周期、时间等等,因此做一个模版是必不可少的了,方法如下:尽量做成世上最详细(没有之一)1、左上角File2、Settings3、E...查看详情

  最近学习python,刚好学到了gui(tkinter)相关的知识,顺便一提,我学python用的是《programming python 4edition》这本书,在这里小小的推荐一下,感觉还不错。昨天在做一个简单的文本编辑器的时候,想要在窗口启动的时候就默认是最大化的,但是不...查看详情

  今天分享一下django的账号密码登陆,前端发送ajax请求,将用户名和密码信息发送到后端处理,后端将前端发送过来的数据跟数据库进行过滤匹配,成功就跳转指定页面,否则就把相对应的错误信息返回,同时增加一个小功能,在规定时间内超过规定的登录次数,就锁住无法登陆,等下一个时间段再允许...查看详情

  最近几天了解了一下人脸识别,应用场景可以是图片标注,商品图和广告图中有没有模特,有几个模特,模特的性别,年龄,颜值,表情等数据的挖掘。基础的识别用dlib来实现,dlib是一个机器学习的包,主要用C++写的,但是也有Python版本。其中最流行的一个功能是Facial Landm...查看详情内部网站asp源码是什么意思呀怎么查

您可能还会对下面的文章感兴趣: