实现功能:
1、提取日志文件中所有源IP
2、对提取到的IP进行去重
3、统计每个IP的访问次数
4、输出到csv文件
代码如下:
import re
filter = r'"\s"(\d{1,3}(?:\.\d{1,3}){3})"\s' # 使用正则表达式来匹配 IP 地址
log_path = "D:/你的日志文件位置.txt"
with open(log_path, "r") as file: #读取日志文件
log_content = file.read()
all_ip = re.findall(filter, log_content) # 使用 findall 方法匹配所有符合条件的 IP 地址
unique_ip = list(set(all_ip)) #去重
with open("D:/想要输出的目录位置.csv", "w") as file: # 遍历输出IP和IP出现次数
for ip in unique_ip:
number = str(all_ip.count(ip))
file.write(ip +"," +number+ ",\n")