如何用ASP编写网站统计系统

在目前的网站统计系统决大部分都是CGI的,但编写起来特别复杂,而ASP学起来简单,更有和数据库结合的优点,所以结合自己曾经做过的网站统计系统,和大家探讨一下ASP编写网站统计系统。

  大家都看过网易的网站统计系统,它可以统计总访问量,每日平均访问量,当日访问量,最高访问量,最高访问日期,日流量分析,月流量分析,周流量分析,浏览器分析,等等。

  其实要做一个ASP的访问统计系统关键是系统表结构的设计。以及如何来采集用户的CGI变量,如何来显示用户的信息。也就是说系统的关键是两个ASP程序,统计程序和显示程序。

  首先我们先看看如何来采集用户的访问信息。

  我们编写访问统计需要知道用户的如下信息,访问者的IP(根据访问IP可以形成访问者IP列表),访问者的浏览器与***作系统(统计访问者的浏览器与***作系统及所有访问者浏览器与***作系统比例图),访问者的访问时间(进行日访问量分析,月访问量分析,周访问量分析),下面我们来看看用ASP的获得以上信息的语句:
  1。获得访问者IP
  Dim M_IP
  M_IP=Request.Servervariables(“REMOTE_HOST”)
  用上面的语句可以取得访问者的IP。
  2。获得浏览器信息
  Dim O_Browser,M_BrowserType
  Set O_Browser=Server.Createobject(“MSWC.BrowserType”)
  M_BrowserType=O_Browser.Browser+O_Browser.Version
  3。获得访问时间
  Dim M_DateTime
  M_DateTime=Year(Date())&”/”&Right(“0″&Month(Date()),2)&”/”Right(“0″&Day(Date()),2)&”/”&Right(“0″&Hour(Time()),2)&”:”&Right(“0″&Minute(Time()),2)&”:”&Right(“0″&Second(Time()),2)

  1 取得用户的***作系统。
  在ASP中使用如下语句可以得到访问者的http_user_agent字符串。
  Dim StrUserAgent
  StrUserAgent=Request.ServerVariables(“HTTP_USER_AGENT”)
  这个字符串一般是如下格式:
  Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)
  上面的字符串可以说明访问者使用的***作系统是Windows98,浏览器是MSIE 4.01,但是这个字符串格式不固定,而且可以自己更改。
  平常我们所见的其它一些主要的UserAgent字符串如下:
  使用IE的浏览器:
  Mozilla/2.0 (compatible; MSIE 3.01; Windows 95)
  Mozilla/4.0 (compatible; MSIE 4.0; Windows 95);
  Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)
  Mozilla/4.0 (compatible; MSIE 5.0; Windows 98);
  Mozilla/4.0 (compatible; MSIE 5.0b2; Windows NT)
  使用NetScape的浏览器:
  Mozilla/4.03 〔en〕 (Win95; I)
  Mozilla/4.08 〔en〕 (WinNT; U ;Nav)
  Mozilla/4.5 〔en〕 (WinNT; U)
  Mozilla/3.04Gold (Win95; I)
  使用Opera的浏览器:
  Mozilla/4.0 (compatible; Opera/3.0; Windows 95) 3.50b10
  FrontPage编辑器:
  Mozilla/2.0 (compatible; MS FrontPage 3.0)
  使用Sun***作系统:
  Mozilla/3.01Gold (X11; I; SunOS 5.7 i86pc)
  使用PowerPc的Mac机:
  Mozilla/4.0 (compatible; MSIE 4.5; Mac_PowerPC)
  通过分析以上字符串,我们可以找出规律,编写一个子程序来判断访问者用的是何种***作系统,又由于用ASP中的判断浏览器类型的控件需要更新Browser.ini文件,所以我们可以结合这个字符串来判断浏览器属性。

  2.我们以什么样的方式来统计网站呢?

  我们可以让用户在他的主页上加入如下语句:
  <a href=”http://www.abc.com/viewer.asp?userid=username”><img src=”http://www.abc.com/counter.asp?userid=username”></a>上面的userid是具体哪一个用户,要注意用户和访问者不是一个概念。
  通过上面的