回复:从日志文件中提取字符串

每行分开URL并请求零件.将请求分为键值对,使用Urllib摘除键值对……如下所示...
导入Urllib
line =" get /stat.gif?stat = v&c = f = 1.1%20build%2014231&s = av%7bnorton%20360%2 0%28Symantec%20Corporation%20 Corporation%29+69%3B%3B%7DSW%7DSW%7BNorton%203360%20%20%20%20% 28symantec%20企业%29%+69%3B%7DFW%7B Norton%20360%20%20%28symantec%20企业20企业%29+5%3B%7 dv%7Bmicrosoft%20Windows%20Windows%20XP+Insecure+Insecure%20xP+Insecure%3Bmicrosoft%3Bmicrosoft%20Windwindows+ffuites+ffuites+ffuites+ffuites+ffitor 3B26027%3B26447%3 B26003%3B22452%3B%7D&r = 0.9496 HTTP/1.1
单词= line.split()
用单词词:
如果word.find('?')> = 0:
req = word [word.find('?') + 1:]
kwds = req.split('&')
对于KWD中的KV:
打印Urllib.unquote(KV)
Stat = v
c = f-secure
v = 1.1构建14231
S = AV {Norton 360(Symantec Corporation)+69;} sw {Norton 360(Symantec Corporation)+69;} fw {Norton 360(Symantec Corporation)+5;} V {Microsoft Windows XP+Insecure XP+Insecure; Microsoft Windows XP Professional +F; 26027; 26447; 26003; 22452;}
r = 0.9496
祝你好运
埃德温
- - -原始信息 - - -
来自:PY ****************************************************************************************** ***@python.org
[mailto:py ******************************************************************************************************************************** ****@python.org]
代表jo *********@googlemail.com
发送:2008年8月9日,星期六,上午10:48
到:pythender@python.org
主题:从日志文件中提取字符串
203.114.10.66 - [01/Aug/2008:05:41:21 +0300]" get/stat.gif?
stat = v&c = f-secure&v = 1.1%20build%2014231&s = av%7bnorton
%20360%20%28symantec%20企业%29+69%3B%7DSW%7 Bnorton
%20360%20%28symantec%20企业%29+69%3B%7DFW%7 Bnorton
%20360%20%28symantec%20公司%29+5%3B%7DV%7BM ICROSOFT%20Windows
%20XP+不安全%3Bmicrosoft%20Windows%20xP%20Profes Sional+f
%3B26027%3B26447%3B26003%3B22452%3B%7D&r = 0.9496 HTTP/1.1" 200 43
" http://dfstage1.f-secure.com/fshc/1.1/release/devbw/1.1.14231/
card.html"" mozilla/4.0(兼容; msie 6.0; Windows NT 5.1;
SV1; .NET CLR 2.0.50727)
有人知道如何从此日志文件中提取某些字符串
在Python中使用正则表达式或使用XML.可以教我.
-http://mail.python.org/mailman/listinfo/python-list
本消息中包含的信息和任何附件可能是
专有,机密和特权或遵守工作
产品学说,因此免于披露.如果是读者
此消息不是预期的收件人,也不是员工或
负责将此消息传递给预期的代理商
收件人,特此通知您任何传播,
严格禁止这种通信的分配或复制.
如果您收到错误的通信,请通知我
立即回复此消息并将其删除以及所有
副本及其备份.谢谢你.

# 回答1


8月9日,11:22*PM,Edwin.mad ...@verizonwireless.com写道:
您介意进一步解释吗?基于您给出的源代码
我.它将输出什么.我想知道.抱歉,我是新手
萃取.我确实了解您的Python编码.唯一的 我没有 理解是这部分. 用单词词: 如果word.find('?')> = 0: req = word [word.find('?') + 1:] kwds = req.split('&') 对于KWD中的KV: 打印Urllib.unquote(KV) 此代码做什么? 无论如何,此代码是自动的. 我的意思是它可以提取 每次由dever输出新日志文件时的字符串?

标签: python

添加新评论