我正在尝试对我的访问日志文件进行表述,为此我只需逐行读取访问日志文件并从每一行中提取有用的信息,最后将它们添加到数据库中。
例如,一条线看起来像这样。
124.99.152.202 - naveen [22/Nov/2013:10:41:17 +1300] "GET /p/V4ZkA5d074CTy_vbFa7nLw,1385070078/IneedThisInteger/12.txt HTTP/1.1" "200" "3" "-" "Mozilla/5.0" "-"
我只知道如何提取IP地址。(使用这个)
我要提取
这个请求值-
GET /p/V4ZkA5d074CTy_vbFa7nLw,1385070078,IneedThisInteger/12.txt HTTP/1.1
来自上述部分的这个整数值-
IneedThisInteger
这个状态部分-
200
这个字节部分-
3
有时请求 URL 更改它的最后一部分,
"GET /p/V4ZkA5d074CTy_vbFa7nLw,1385070078,IneedThisInteger/FOLDER/12.txt HTTP/1.1"
"GET /p/V4ZkA5d074CTy_vbFa7nLw,1385070078,IneedThisInteger/FOLDER/ANOTHER FOLDER/12.txt HTTP/1.1"
"GET /p/V4ZkA5d074CTy_vbFa7nLw,1385070078,IneedThisInteger/FOLDER/ANOTHER FOLDER/HEREIS-ANOTHER-FOLDER-AND-SO-ON/12.txt HTTP/1.1"
所以我真的需要一种稳定的方法来从每一行获取这些值。我该怎么做?