+ -
当前位置:首页 → 问答吧 → 网站统计,如果从IIS日志中取出准确的访客量(也就是相当于取到独立IP的数量)..

网站统计,如果从IIS日志中取出准确的访客量(也就是相当于取到独立IP的数量)..

时间:2011-12-24

来源:互联网

暂时我假设 访客量的数量就等于独立IP数量
那么
我从日志中取到了IP的总数(去重后),然后再去掉蜘蛛的独立IP数量,最后得到的结果是3500个..

但事实上我公司做网站的那些人告诉我这个数太大了,实际上的访客还没到1000,那么多出来的这2000多个IP是怎么回事?
求有经验的达人指点一二!!!

总IP数量
SQL code

select COUNT(distinct c-ip) as allIPCount from '{0}' where (sc-status=200 or sc-status=60)



总蜘蛛IP数量
SQL code

select COUNT(distinct c-ip) as spiderCount from '{0}' where (sc-status=200 or sc-status=60) and (cs(User-Agent) like '%baidu%' or cs(User-Agent) like '%Yahoo!+Slurp%' or cs(User-Agent) like '%google%' or cs(User-Agent) like '%YoudaoBot%' or cs(User-Agent) like '%sogou%' or cs(User-Agent) like '%msnbot%' or cs(User-Agent) like '%+bingbot%' or cs(User-Agent) like '%jikespider%')

作者: ximomomoxinei11   发布时间: 2011-12-24

附下SQL语句

总IP数量->
 select COUNT(distinct c-ip) as allIPCount from '{0}' where (sc-status=200 or sc-status=60)

总蜘蛛IP数量->
select COUNT(distinct c-ip) as spiderCount from '{0}' where (sc-status=200 or sc-status=60) and (cs(User-Agent) like '%baidu%' or cs(User-Agent) like '%Yahoo!+Slurp%' or cs(User-Agent) like '%google%' or cs(User-Agent) like '%YoudaoBot%' or cs(User-Agent) like '%sogou%' or cs(User-Agent) like '%msnbot%' or cs(User-Agent) like '%+bingbot%' or cs(User-Agent) like '%jikespider%')

作者: ximomomoxinei11   发布时间: 2011-12-24

语句上没啥问题,看看你的数据是不是有问题。呵呵

作者: Beirut   发布时间: 2011-12-24

不懂
是不是用的动态IP

作者: wufeng4552   发布时间: 2011-12-24

是不是应该加一个 日期的判断呢

你这个是全部的,不是每天的

作者: Beirut   发布时间: 2011-12-24

引用 4 楼 beirut 的回复:
是不是应该加一个 日期的判断呢

你这个是全部的,不是每天的

这个不用担心 每个iis日志都是一天的 我看过了

作者: ximomomoxinei11   发布时间: 2011-12-24

引用 5 楼 ximomomoxinei11 的回复:

引用 4 楼 beirut 的回复:
是不是应该加一个 日期的判断呢

你这个是全部的,不是每天的

这个不用担心 每个iis日志都是一天的 我看过了

我去下个日志研究下

作者: Beirut   发布时间: 2011-12-24

引用 6 楼 beirut 的回复:
引用 5 楼 ximomomoxinei11 的回复:

引用 4 楼 beirut 的回复:
是不是应该加一个 日期的判断呢

你这个是全部的,不是每天的

这个不用担心 每个iis日志都是一天的 我看过了

我去下个日志研究下

留个邮箱 我给你个程序 直接写sql语句就能查看结果的

作者: ximomomoxinei11   发布时间: 2011-12-24

distinct c-ip你就这样查? c-ip是一个字段?[c-ip]加个括号
另外你把数据全部查询出来放到临时表里,慢慢处理看看
SQL code
select * into #tb from '{0}' where (sc-status=200 or sc-status=60)
--在#tb里找蜘蛛


作者: ssp2009   发布时间: 2011-12-24

引用 8 楼 ssp2009 的回复:
distinct c-ip你就这样查? c-ip是一个字段?[c-ip]加个括号
另外你把数据全部查询出来放到临时表里,慢慢处理看看

SQL code
select * into #tb from '{0}' where (sc-status=200 or sc-status=60)
--在#tb里找蜘蛛

用的 LogParser直接通过sql语句进行调试还是蛮方便的。
括号加上了 但结果没变!!

作者: ximomomoxinei15   发布时间: 2011-12-24