Python re 截取文本中IP地址及用户名

文本示例:

ts=2019-07-10T06:43:06523942Z pid=1875 tid=6320 version=e73c536 proto=http id=5a61a613e395f8832a372e4c1804ce10 http_url="/dev/ng.git/git-upload-pack" ip=10.10.5.9 xff_ip=10.10.5.9 user=wangdongdong repo=dev/ng repo_public=0 cmd=git-upload-pack fs_host=git-server-0b2c6f4a-a72d-11e8-9cba-000c294988e0 ac_ms=46.699 duration_ms=58.204 sr=1562740986465.729 ss=1562740986523.934 fs_sent=945 fs_recv=904 client_recv=1295 client_sent=1202 fsc_ms=0.274 log_level=INFO msg="http op done: (200)" http_status=200 imode=0
ts=2019-07-10T06:43:06603025Z pid=1875 tid=6323 version=e73c536 proto=http id=4930c2b5ce76d270a9d5b406433f3d55 http_url="/dev/ng.git/git-upload-pack" ip=10.10.5.9 xff_ip=10.10.5.9 user=wangdongdong repo=dev/ng repo_public=0 cmd=git-upload-pack fs_host=git-server-0b2c6f4a-a72d-11e8-9cba-000c294988e0 ac_ms=44.971 duration_ms=59.885 sr=1562740986543.132 ss=1562740986603.016 fs_sent=945 fs_recv=1184 client_recv=1420 client_sent=1470 fsc_ms=0.255 log_level=INFO msg="http op done: (200)" http_status=200 imode=0

  

import os
import re

file = open("E:\\desktop\\aaa.csv" , "w" , encoding=‘utf-8‘)
with open("E:\desktop\GitHub_babeld_Log\\babeld.log" , "r" , encoding=‘utf-8‘) as da:
    for line in da:
        username = re.findall(r"(user=(\w){1,20}(-)?(\w){1,20} )", line)
        ip_list = re.findall(r‘(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)‘,line)
        if len(username) != 0:
            ip = ip_list[0]
            res = "".join(username[0]) + ‘,‘ + ".".join(ip)
            file.write(res+"\n")

file.close()

  

原文地址:https://www.cnblogs.com/xingfuxiaokong/p/11393466.html

时间: 2024-10-11 04:31:02

Python re 截取文本中IP地址及用户名的相关文章

VPN组网中IP地址冲突解决方案

很多路由器的默认IP地址是192.168.1.1,用户买回来之后经常也没有去修改这个IP地址,估计国内有80%局域网目前都在使用192.168.1.0/24网段.如果不涉及与其他地方VPN组网,这样用一点问题都没有的,但是现在要VPN组网就发现两个局域网的IP地址是相同的,在远程访问时就会遇到问题,因为两边地址都相同,计算机没有那么智能,它例如我们要访问192.168.1.3的IP,计算机不知你是要访问对端的192.168.1.3还是本端的192.168.1.3,所以经常会遇到麻烦的.遇到这种问

使用CDN之后APACHE日志记录中IP地址不正确的解决方案

这篇文章主要介绍了使用CDN之后APACHE日志记录中IP地址不正确的解决方案,需要的朋友可以参考下最近在搞APACHE日志分析,装好了awstats之后,这两天进行了观察, 报表日期 月 1 月 2010首次参观日期 2010年01月12日 11:04最近参观日期 2010年01月13日 23:59参观者 参观人次 网页数 文件数 字节浏览器流量 * 77 226 (2.93 参观人次/参观者) 508979 (2252.11 网页数/参观) 509492 (2254.38 文件数/参观) 1

1.Python中IP地址处理IPy模块

安装 先下载源码,地址:ps://pypi.python.org/pypi/IPy/">https://pypi.python.org/pypi/IPy/ ,然后解压后使用命令python setup.py install安装. 使用 1.显示IP类型 >>> IP('192.168.1.1').version() 4 >>> IP('::1').version() 6类似如上所示,通过version方法可以的判断输入的IP是IPv4还是IPv6 . 2

PHP中IP地址与整型数字互相转换详解

IP转换成整型存储是数据库优化一大趋势,不少人目前存储IP时还在使用字符串类型存储,字符串索引比整型索引消耗资源很多,特别是表中数据量大的时候,以及求查询某一个ip段的数据,今天说的ip是指ip4,ip6不在本文范围内. 系统函数ip2long与long2ip PHP中有内置函数ip2long可以将ip地址转换整型. 复制代码代码如下: $ip = '210.110.11.49'; echo ip2long($ip); 输出: 复制代码代码如下: -764540111 输出的整型有负号是因为我们

centos中ip地址的配置

登陆连接centos系统,输入 ifconfig 可以查看到当前本机的IP地址信息,是没有ip地址的. 要让IP地址永久生效,需要编辑网卡配置文件 1.使用VI编辑器设置,如 vi /etc/sysconfig/network-scripts/ifcfg-eth0  2说明一下这个文件:DEVICE=eth0  网卡对应的设备别名,如ifcfg-eth0第一块网卡 BOOTPROTO=static 网卡获得ip地址的方式, Static(静态 ip地址) dhcp(通过dhcp协议获取ip) b

HTTP中ip地址伪造的问题以及解决办法

在真实环境下,php获取客户端ip地址的方法通常有以下几种: (1):通过$_SERVER[ "HTTP_CLIENT_IP" ] (2):通过$_SERVER[ "HTTP_X_FORWARDED_FOR" ] (3):通过$_SERVER[ "REMOTE_ADDR" ] 这里需要注意的是:在php中的$_SERVER数组中以HTTP开头的值,都是由客户端(client)传递到服务端的,也就是说这一部分是可以进行伪造的.而$_SERVER[

python绝技 — 使用PyGeoIP关联IP地址和物理位置

准备工作 要关联IP与物理位置,我们需要有一个包含这样对应关系的数据库. 我们可以使用开源数据库GeoLiteCity,它能够较为准确地把IP地址与所在城市关联起来 下载地址:http://dev.maxmind.com/geoip/legacy/geolite/ 下载之后我们解压:xz -d GeoLiteCity.dat.xz,如:/My/lib/ip/GeoLiteCity.dat 安装pygeoip库.这个库用于对GeoLiteCity数据库的查询 代码: #!/usr/bin/pyth

IPv4中IP地址分类

分三个部分进行讲述: 1 五类IP 2 特殊用途的IP 3 私有IP 1 五类IP IPV4简单粗暴地把IP地址分为五类.分类方法如下图所示: 也就是说,分为以下几类: A: 0.0.0.0-127.255.255,其中段0和127不可用 B: 128.0.0.0-191.255.255.255 C: 192.0.0.0-223.255.255.255 D: 224.0.0.0-239.255.255.255 E: 240.0.0.0-255.255.255.255,其中段255不可用 这其中除

python学习-使用ip138查询ip地址归属地

#!/usr/bin/python #coding:utf-8 import urllib import re import sys def ISIP(s):     return len([i for i in s.split('.') if (0<= int(i)<= 255)])== 4 def URL(ip): uip=urllib.urlopen('http://wap.ip138.com/ip.asp?ip=%s'%ip) fip=uip.read() rip=re.compile