网站流量统计系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

网站流量统计系统

摘要

网站流量统计是改进网站服务的重要手段之一,通过获取用户在网站的行为,可以分析出哪些内容受到欢迎,哪些页面存在问题,从而使网站改进活动更具有有针对性。

常用的网站流量统计指标包括三类:(1)网站流量指标,如在一定统计周期那网站的独立用户数量、总用户数量、网页浏览数量、每个用户的页面浏览数量等;(2)用户行为指标,如用户来源网站、用户所使用的搜索引擎及其关键词、在不同时段的访问量情况等;(3)用户浏览网站的方式,如用户上网设备类型、用户浏览器的名称和版本、访问者电脑分辨率显示模式等。

获取网站访问统计资料通常有两种方法:(1)在自己的网站服务器端安装统计分析软件进行监测;(2)采用第三方提供的网站流量分析服务。

两种方法各有利弊,采用第一种方法可以方便地获得详细的网站统计信息,并且除了访问统计软件的费用之外无需其他直接的费用,但由于这些资料在自己的服务器上,因此在向第三方提供有关数据时缺乏说服力;第二种方法则正好具有这种优势,但通常要为这种服务付费,虽然也有一些免费网站流量统计服务,但由于在功能方面会有一定的限制,或者通常需要在网站上出现服务商的标识甚至广告。

因此本人以第三方统计网站流量为设计基础,运用Python编程语言及其web开发框架Django,结合SQLite3数据库,完成对访客的IP地址,浏览器,操作系统,浏览页面的记录,并按时间单位进行统计统计。

关键词网站流量统计;Python;Django;SQLite;

第1章绪论

1.1 网站流量统计的动机

在用户访问模式、Web软件组件的性能和基本网络基础设施的特征参数提取中,Web流量测量起着关键的作用。

内容创建者可以从用户浏览模式测量那里收集有价值的数据。考虑销售图书的电子商务站点,站点访问者数量的统计数字将影响Web页面里嵌广告带来的广告收入。另外,分析用户访问模式可以指导Web站点重新设计的过程。设想有许多用户访问主页,并点击特定次序的超文本链接以查找到平装书籍。这将激发改变主页的想法,以提供给含有大量普通图书列表的直接链接。知道用户停留在网站有多长时间和下载了多少网页将是很有用的。如果许多用户在查看了一两页后就离开的话,那么网站就需要更好地组织或增加更令人感兴趣的资料。在连续网页间迅速切换的用户可能不会发现他们想要的信息。于是内容创建者可通过允许用户根据主题搜索站点来解决这个问题。

内容的创建者也可能对知道用户怎么到达Web站点感兴趣。例如,设想对图书网站的访问请求的25%是用户从某个新闻网站点击超文本链接而来,那么图书销售商可能会在这个新闻网站继续做广告。测量也可以用来刻画Web站点的性能特征。

1.2 网站流量统计指标

网站流量统计的基础是获取网站流量的基本数据,网站流量统计指标大致可以分为三类,每类包含若干数量的统计指标。具体的网站流量统计是通过不同的IP登陆网站来计算的。也就是说,一天内同一台机器登陆网站的次数不论是多少,在流量统计中只记为一次有效登陆,这种计算方法可以较为科学的计算出有多少人登陆过该网站,有效的防止了有意的对网站进行刷新从而增加自己网站的点击率。

网站流量指标:

1、独立的访问者数量(unique visitors);

2、重复的访问者数量(repeat visitors);

3、页面浏览数(page views);

4、每个访问者的页面浏览数(page views per user);

5、某些具体文件/页面的统计指标,如页面显示次数、文件下载次数等。

用户行为指标:

1、用户在网站的停留时间;

2、用户来源网站(也叫“引导网站”);

3、用户所使用的搜索引擎及其关键词;

4、在不同时段的用户访问量情况等。

用户浏览网站的方式:

1、用户上网设备类型;

2、用户浏览器的名称和版本;

3、访问者电脑分辨率显示模式;

4、用户所使用的操作系统名称和版本;

5、用户所在地理区域分布状况等。

1.3 网站流量统计原理

当浏览者访问网站时,会向网站所在服务器发送HTTP请求,由于网页是富媒体聚合形式,当引用第三方的图片、音频、视频时,也会向媒体所在服务器发送请求。

通过向所要统计网站页面中插入一段HTML代码来实行转向访问。HTTP请求标头(Request-Header)中包含了用户代理(User-Agent),引用地址(Referer),以及通过WEB服务器获得客户端的IP地址。

绝大多数HTTP通讯由用户代理进行初始化,并通过它来组装请求以获取存储在一些原始服务器上的资源。在最简单的情况下,通过用户代理与原始服务器之间一个简单的连接就可以完成。

图1.1 HTTP通讯过程

HTTP/1.0的请求标头允许客户端向服务器端传递该请求的附加信息及客户端信息。该域做为请求的修饰部分,遵照编程语言程序调用参数的语法形式。[1][2] Request-Header = Authorization ; 用户代理的身份凭证

| From ; 用户的电子邮件地址

| If-Modified-Since ; 同最后一次修改时间的比较

| Referer ; 引用页面的URI

| User-Agent ; 用户代理软件的信息HTTP/1.1请求标头已经增加到了19个,不过增加的部分并不包含所要收集的数据,所以本文不进行列举。

第2章Python语言及Django框架简介

2.1 Python语言简介

Python是一门跨平台的脚本语言,Python规定了一个Python语法规则,实现了Python语法的解释程序就成为了Python的解释器,我们用的比较多的是C版本的Python,也就是使用C语言实现的Python解释器,除此之外还有使用Java实现的Jython和使用.NET实现的IronPython,这些实现可以使Python用户充分利用己有的Java及.NET资源。

同时,Python支持几乎所有常用的操作系统,包括:Windows/DOS、Macintosh、Linux 及FreeBSD。及很多不常用的操作系统,包括AIX、AS/400 (OS/400)、BeOS、OS/2、OS/390与z/OS、Palm OS、PlayStation与PSP、Psion、QNX、RISC OS、Series 60、Sparc Solaris、VMS、VxWorks、Windows CE或Pocket PC、Sharp Zaurus、MorphOS 等。

可扩充性可说是Python作为一种编程语言的特色。新的内置模块(module)可以用C 或C++写成。而我们也可为现成的模块加上Python的界面。Python可以使用户避免过分的语法的羁绊而将精力主要集中到所要实现的程序任务上。

因此Python具有非常庞大的程序库,通过它们可以快速完成绝大部分常用的任务,如:从某个URL中获取信息、正则表达式、获得某个文件或字符串的MD5特征字符串、多线程、XML及HTML的分析等。

Python也被称为是一门清晰的语言。因为它的作者在设计它的时候,总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了

2.2 Django框架简介

Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的设计模式,即模型M,模版T和视图控制器V。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的。并于2005年7月在BSD许可证下发布。

相关文档
最新文档