為什么要開(kāi)發(fā)vbs寫(xiě)的IIS日志分析工具?
在網(wǎng)上找了很多IIS日志分析工具,功能實(shí)在太有限,有的僅能分析百度、谷歌等搜索引擎爬蟲(chóng)的來(lái)訪次數(shù),遠(yuǎn)遠(yuǎn)達(dá)不到我們的用戶的需求。作為一個(gè)小站長(zhǎng),有的時(shí)候也要分析一下自己站點(diǎn)的廣告點(diǎn)擊情況,靜態(tài)頁(yè)面的還好說(shuō),下載類的業(yè)務(wù)就不好統(tǒng)計(jì)了。耗時(shí)一晚上寫(xiě)出來(lái)本工具分享給大家。
IIS日志分析工具的使用方法
本工具對(duì)于初次接收vbs腳本的用戶來(lái)說(shuō),可能有點(diǎn)麻煩。下面我們就一步一步來(lái)說(shuō)說(shuō)該工具的使用方法。
1、如果 vbscript 默認(rèn)引擎非cscript,需要修改稱cscript。修改方法很簡(jiǎn)單,直接在運(yùn)行中輸入:
cscript //Nologo //H:Cscript
即可切換
2、下載IIS日志分析工具 壓縮包/vbs/vbs-iis-log-jb51.rar,解壓,打開(kāi)log.vbs,修改dbpath為您當(dāng)前解壓的路徑。
3、下載您的log日志文件,刪掉前三行和第四行的#Fields: ,保存文件名為test.txt,保存到解壓目錄。
4、在開(kāi)始運(yùn)行中用cmd命令打開(kāi)命令提示符,直接把 log.vbs拖拽到命令提示符中,回車(chē)即可開(kāi)始分析。
以后會(huì)出軟件版本嗎?
會(huì)的,不過(guò)最近不會(huì),其實(shí)現(xiàn)在的代碼,直接拿到vb中,套個(gè)界面就比市面上的iis日志工具強(qiáng)大,但是現(xiàn)在實(shí)際還沒(méi)有成熟,等正式發(fā)布時(shí),功能絕對(duì)的強(qiáng)大。
IIS日志分析工具是免費(fèi)的嗎?
是的,本工具供站長(zhǎng)免費(fèi)使用,但是傳播請(qǐng)保留我們的版權(quán)信息。也許您的建議將會(huì)出現(xiàn)在我們未來(lái)的軟件版中。
vbs寫(xiě)的IIS日志分析工具代碼如下:
'=============================================================
'= Copyright (c) 2010 貓七(QQ:77068320) =
'= All rights reserverd. =
'=============================================================
'= IIS日志分析系統(tǒng) v_1.10.0828 =
'= 使用說(shuō)明:http://www.miaoqiyuan.cn/p/iis-log-tools =
'= 作者博客:http://www.miaoqiyuan.cn =
'= 版權(quán)聲明:本代碼供站長(zhǎng)免費(fèi)使用,傳播請(qǐng)保留版權(quán)信息 =
'=============================================================
'= 程序簡(jiǎn)介:在網(wǎng)上找了很多IIS日志分析工具,功能簡(jiǎn)單,只能 =
'= 分析爬蟲(chóng)來(lái)訪次數(shù)。有時(shí)候我們小站長(zhǎng)也想分析下廣告點(diǎn)擊情況 =
'= ,這時(shí)候市面上的IIS統(tǒng)計(jì)工具就無(wú)能為力了。耗時(shí)一晚上寫(xiě)出來(lái) =
'= 分享給大家,同時(shí)申請(qǐng)落伍,請(qǐng)大家?guī)晚敗? =
'= 申請(qǐng)地址:http://www.im286.com/thread-5021543-1-1.html =
'=============================================================
'= 文件:log.vbs =
'= 功能:IIS日志分析,懂程序的朋友可擴(kuò)展,功能不可限量 =
'=============================================================
dbpath = "D:\log" '日志文件所在目錄
tblna = "test.txt" '日志文件名,如果修改請(qǐng)同時(shí)修改 Schema.ini 中相關(guān)節(jié)點(diǎn)
function getuag(str)
if instr(str,"+MSIE+7.0;")>0 then
getuag = "Internet Explore 7.0"
elseif instr(str,"+MSIE+8.0;")>0 then
getuag = "Internet Explore 8.0"
elseif instr(str,"+MSIE+6.0;")>0 then
getuag = "Internet Explore 6.0"
elseif instr(str,"MSIE")>0 then
getuag = "Internet Explore(Other)"
elseif instr(str,"curl")>0 then
getuag = "CUrl"
else
getuag = str
end if
end function
wscript.echo string(60,"=")
wscript.echo " IIS日志分析工具 By 苗啟源(MiaoQiyuan.cn)"
wscript.echo string(60,"=")
set conn = createobject("ADODB.Connection")
conn.open "provider=Microsoft.Jet.OLEDB.4.0;Data Source=" dbpath ";Extended Properties=""text;HDR=YES;FMT=Delimited;"""
set rs = createobject("ADODB.Recordset")
'統(tǒng)計(jì) 鏈接訪問(wèn)次數(shù)
statime = timer()
rs.open "select [cs-uri-stem],count([c-ip]) from [" tblna "] group by [cs-uri-stem]",conn,1,1
ga = rs.getrows()
rs.close
wscript.echo " = 訪問(wèn)次數(shù) = | = 獨(dú)立訪客 = | = 訪問(wèn)路徑 = "
wscript.echo string(60,"-")
for i = 0 to ubound(ga,2)
rsid = rsid + 1
tme = ga(1,i)
uri = ga(0,i)
'不支持 COUNT DISTINCT 郁悶,使用笨拙的方法
rs.open "select DISTINCT [c-ip] from [" tblna "] where [cs-uri-stem]='" uri "'",conn,1,1
aip = rs.recordcount
rs.close
wscript.echo string(10 - len(tme)," ") tme " | " string(8 - len(aip)," ") aip " | " uri
next
wscript.echo string(60,"-")
wscript.echo " 統(tǒng)計(jì):" rsid "條記錄 查詢用時(shí):" formatnumber((timer() - statime) * 1000,3) "毫秒"
wscript.echo string(60,"-") vbCrlf
'統(tǒng)計(jì) 訪問(wèn)詳情
for i = 0 to ubound(ga,2)
rsid = 0
uri = ga(0,i)
wscript.echo string(60,"=")
wscript.echo " 訪問(wèn)詳情:" uri
wscript.echo string(60,"=")
statime = timer()
wscript.echo " = 編號(hào) = | = IP地址 = | = 瀏覽器類型 = "
rs.open "select DISTINCT [c-ip],[cs(User-Agent)] from [" tblna "] where [cs-uri-stem]='" uri "'",conn,1,1
do while not rs.eof
rsid = rsid + 1
'IP 自動(dòng)變成了數(shù)字,還沒(méi)有找到解決方法
cip = rs(0)
uag = getuag(rs(1))
wscript.echo string(8 - len(rsid)," ") rsid " | " string(8 - len(cip)," ") cip " | " uag
rs.movenext
loop
rs.close
wscript.echo string(60,"-")
wscript.echo " 統(tǒng)計(jì):" rsid "條記錄 查詢用時(shí):" formatnumber((timer() - statime) * 1000,3) "毫秒"
wscript.echo string(60,"-") vbCrlf
next
到此這篇關(guān)于vbs寫(xiě)的IIS日志分析工具的文章就介紹到這了,更多相關(guān)vbs IIS日志分析內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!