You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从监控摄像头日志中提取IP地址与日期?

提取监控日志中的IP地址和日期的方法

嘿,这事儿挺简单的,根据你提供的类XML结构日志,给你几个不同场景下的实用解决方案:

一、手动提取(日志量少的情况)

直接定位每个<Element>块里的第三个<Section>(日期)和第四个<Section>(IP)就行:

  • 第一组:日期 07/03/2016 21:55:50,IP 125.035.058.002
  • 第二组:日期 07/03/2016 21:50:02,IP 125.035.058.002

二、Python脚本自动化处理(适合批量日志)

因为你的日志是标准的标签结构,用XML解析库处理最准确,不会因为格式小变动出错:

import xml.etree.ElementTree as ET

# 给原始日志补个根节点,让它成为合法XML
raw_log = """<Root>
<Element> <Section>Logon</Section> <Section>admin</Section> <Section>07/03/2016 21:55:50</Section> <Section>125.035.058.002</Section> </Element>
<Element> <Section>Logoff</Section> <Section>admin</Section> <Section>07/03/2016 21:50:02</Section> <Section>125.035.058.002</Section> </Element>
</Root>"""

# 解析并提取目标字段
root = ET.fromstring(raw_log)
for elem in root.findall("Element"):
    sections = elem.findall("Section")
    log_date = sections[2].text.strip()
    log_ip = sections[3].text.strip()
    print(f"日期: {log_date}, IP地址: {log_ip}")

要是日志存在本地文件里,把raw_log改成读取文件内容的代码即可,批量处理几百上千条日志都没问题。

三、命令行快速处理(Linux/macOS环境)

如果不想写脚本,用grep+sed+awk的组合命令就能快速搞定,假设日志存在camera_log.txt文件中:

grep -o '<Section>[^<]*</Section>' camera_log.txt | sed 's/<\/\?Section>//g' | awk '{if (NR%4==3) d=$0; if (NR%4==0) print "日期: "d", IP: "$0}'
  • grep负责提取所有Section标签包裹的内容
  • sed去掉Section标签,只保留纯文本
  • awk按每4行一组的规律,把第3行(日期)和第4行(IP)配对输出

内容的提问来源于stack exchange,提问作者dror bu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:22:46