网站流量统计系统.doc

上传人:gs****r 文档编号:1512044 上传时间:2019-03-04 格式:DOC 页数:26 大小:389KB
下载 相关 举报
网站流量统计系统.doc_第1页
第1页 / 共26页
网站流量统计系统.doc_第2页
第2页 / 共26页
网站流量统计系统.doc_第3页
第3页 / 共26页
网站流量统计系统.doc_第4页
第4页 / 共26页
网站流量统计系统.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、网站流量统计系统 11网站流量统计系统摘 要网站流量统计是改进网站服务的重要手段之一,通过获取用户在网站的行为,可以分析出哪些内容受到欢迎,哪些页面存在问题,从而使网站改进活动更具有有针对性。常用的网站流量统计指标包括三类:(1)网站流量指标,如在一定统计周期那网站的独立用户数量、总用户数量、网页浏览数量、每个用户的页面浏览数量等;(2)用户行为指标,如用户来源网站、用户所使用的搜索引擎及其关键词、在不同时段的访问量情况等;(3)用户浏览网站的方式,如用户上网设备类型、用户浏览器的名称和版本、访问者电脑分辨率显示模式等。获取网站访问统计资料通常有两种方法:(1)在自己的网站服务器端安装统计分析

2、软件进行监测;(2)采用第三方提供的网站流量分析服务。两种方法各有利弊,采用第一种方法可以方便地获得详细的网站统计信息,并且除了访问统计软件的费用之外无需其他直接的费用,但由于这些资料在自己的服务器上,因此在向第三方提供有关数据时缺乏说服力;第二种方法则正好具有这种优势,但通常要为这种服务付费,虽然也有一些免费网站流量统计服务,但由于在功能方面会有一定的限制,或者通常需要在网站上出现服务商的标识甚至广告。因此本人以第三方统计网站流量为设计基础,运用 Python 编程语言及其 web 开发框架 Django,结合 SQLite3 数据库,完成对访客的 IP 地址,浏览器,操作系统,浏览页面的记

3、录,并按时间单位进行统计统计。关键词 网站流量统计;Python;Django;SQLite;网站流量统计系统 11第 1 章 绪论1.1 网站流量统计的动机在用户访问模式、Web 软件组件的性能和基本网络基础设施的特征参数提取中,Web 流量测量起着关键的作用。内容创建者可以从用户浏览模式测量那里收集有价值的数据。考虑销售图书的电子商务站点,站点访问者数量的统计数字将影响 Web 页面里嵌广告带来的广告收入。另外,分析用户访问模式可以指导 Web 站点重新设计的过程。设想有许多用户访问主页,并点击特定次序的超文本链接以查找到平装书籍。这将激发改变主页的想法,以提供给含有大量普通图书列表的直接

4、链接。知道用户停留在网站有多长时间和下载了多少网页将是很有用的。如果许多用户在查看了一两页后就离开的话,那么网站就需要更好地组织或增加更令人感兴趣的资料。在连续网页间迅速切换的用户可能不会发现他们想要的信息。于是内容创建者可通过允许用户根据主题搜索站点来解决这个问题。内容的创建者也可能对知道用户怎么到达 Web 站点感兴趣。例如,设想对图书网站的访问请求的 25%是用户从某个新闻网站点击超文本链接而来,那么图书销售商可能会在这个新闻网站继续做广告。测量也可以用来刻画 Web 站点的性能特征。1.2 网站流量统计指标网站流量统计的基础是获取网站流量的基本数据,网站流量统计指标大致可以分为三类,每

5、类包含若干数量的统计指标。具体的网站流量统计是通过不同的 IP 登陆网站来计算的。也就是说,一天内同一台机器登陆网站的次数不论是多少,在流量统计中只记为一次有效登陆,这种计算方法可以较为科学的计算出有多少人登陆过该网站,有效的防止了有意的对网站进行刷新从而增加自己网站的点击率。网站流量指标:1、独立的访问者数量(unique visitors) ;2、重复的访问者数量(repeat visitors) ;网站流量统计系统 223、页面浏览数(page views) ;4、每个访问者的页面浏览数(page views per user) ;5、某些具体文件/页面的统计指标,如页面显示次数、文件下

6、载次数等。 用户行为指标:1、用户在网站的停留时间;2、用户来源网站(也叫“引导网站” ) ;3、用户所使用的搜索引擎及其关键词;4、在不同时段的用户访问量情况等。用户浏览网站的方式:1、用户上网设备类型; 2、用户浏览器的名称和版本; 3、访问者电脑分辨率显示模式; 4、用户所使用的操作系统名称和版本; 5、用户所在地理区域分布状况等。1.3 网站流量统计原理当浏览者访问网站时,会向网站所在服务器发送 HTTP 请求,由于网页是富媒体聚合形式,当引用第三方的图片、音频、视频时,也会向媒体所在服务器发送请求。通过向所要统计网站页面中插入一段 HTML 代码来实行转向访问。HTTP 请求标头(R

7、equest-Header)中包含了用户代理(User-Agent) ,引用地址(Referer ) ,以及通过 WEB 服务器获得客户端的 IP 地址。绝大多数 HTTP 通讯由用户代理进行初始化,并通过它来组装请求以获取存储在一些原始服务器上的资源。在最简单的情况下,通过用户代理与原始服务器之间一个简单的连接就可以完成。网站流量统计系统 33用户代理 原始服务器请求链接用户代理 原始服务器简单连接用户代理 原始服务器响应链接图 1.1 HTTP 通讯过程HTTP/1.0 的请求标头允许客户端向服务器端传递该请求的附加信息及客户端信息。该域做为请求的修饰部分,遵照编程语言程序调用参数的语法形

8、式。 12Request-Header = Authorization ; 用户代理的身份凭证| From ; 用户的电子邮件地址| If-Modified-Since ; 同最后一次修改时间的比较| Referer ; 引用页面的 URI| User-Agent ; 用户代理软件的信息HTTP/1.1 请求标头已经增加到了 19 个,不过增加的部分并不包含所要收集的数据,所以本文不进行列举。网站流量统计系统 44第 2 章 Python 语言及 Django 框架简介2.1 Python 语言简介Python 是一门跨平台的脚本语言,Python 规定了一个 Python 语法规则,实现了P

9、ython 语法的解释程序就成为了 Python 的解释器,我们用的比较多的是 C 版本的Python,也就是使用 C 语言实现的 Python 解释器,除此之外还有使用 Java 实现的Jython 和使用 .NET 实现的 IronPython,这些实现可以使 Python 用户充分利用己有的Java 及 .NET 资源。同时,Python 支持几乎所有常用的操作系统,包括:WindowsDOS、Macintosh、Linux 及 FreeBSD。及很多不常用的操作系统,包括AIX、AS/400 (OS/400)、BeOS、OS/2、OS/390 与 z/OS、Palm OS、PlaySt

10、ation 与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 中获取信息、正则表达式、获

11、得某个文件或字符串的 MD5 特征字符串、多线程、XML 及 HTML 的分析等。Python 也被称为是一门清晰的语言。因为它的作者在设计它的时候,总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了2.2 Django 框架简介Django 是一个开放源代码的 Web 应用框架,由 Python 写成。采用了 MVC 的设计模式,即模型 M,模版 T 和视图控制器 V。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的。并于 2005 年 7 月在 BSD 许可证下发布。这套框架是以比利时的吉普赛爵士吉他手 Django Reinhardt 来命名的。网

12、站流量统计系统 55Django 的主要目标是使得开发复杂的、数据库驱动的网站变得简单。Django 注重组件的重用性和“可插拔性” ,敏捷开发和 DRY 法则(Dont Repeat Yourself) 。在Django 中 Python 被普遍使用,甚至包括配置文件和数据模型。Django 框架的核心包括:一个 对象-关系 的映射器,用作数据模型(以 Python类的形式定义)和关系数据库间的媒介;一个基于正则表达式的 URL 分发器;一个视图系统,用于处理请求;以及一个模板系统。核心框架中还包括:1、一个轻量级的、独立的 Web 服务器,用于开发和测试。 2、一个表单序列化及验证系统,用

13、于 HTML 表单和适于数据库存储的数据之间的转换。 3、一个缓存框架,并有几种缓存方式可供选择。 4、中间件支持,允许对请求处理的各个阶段进行干涉。 5、内置的分发系统允许应用程序中的组件采用预定义的信号进行相互间的通信。6、一个序列化系统,能够生成或读取采用 XML 或 JSON 表示的 Django 模型实例。 7、一个用于扩展模板引擎的能力的系统。Django 包含了很多应用在它的“contrib ”包中,这些包括:1、一个可扩展的认证系统 2、动态站点管理页面 3、一组产生 RSS 和 Atom 的工具 4、一个灵活的评论系统 5、产生 Google 站点地图 (Google Sit

14、emaps)的工具 6、防止跨站请求伪造(cross-site request forgery)的工具 7、一套支持轻量级标记语言(Textile 和 Markdown)的模板库 8、一套协助创建地理信息系统(GIS)的基础框架2.3 SQLite 数据库简介SQLite 是遵守 ACID 的关联式数据库管理系统,它包含在一个相对小的 C 库中。网站流量统计系统 66它是 D.RichardHipp 建立的公有领域项目。不像常见的客户-服务器范例,SQLite 引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接 API 调用。这在消耗

15、总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。库实现了多数的 SQL-92 标准,包括事务,就是代表原子性、一致性、隔离性和持久性的(ACID),触发器和多数的复杂查询。不进行类型检查。你可以把字符串插入到整数列中。例如,某些用户发现这是使数据库更加有用的创新,特别是与无类型的脚本语言一起使用的时候。其他用户认为这是主要的缺点。多个进程或线程可以访问同一个数据而没有问题。可以并行的满足多个读访问。只有在其他访问当前不被服务的时候才能满足写访问;否则写访问失败

16、并带有一个错误代码(也可以在可配置的超时过期之后自动的重试)。提供了叫做 sqlite 的一个独立程序用来查询和管理 SQLite 数据库文件。 它也充当写使用 SQLite 库的应用的一个例子网站流量统计系统 77第 3 章 需求分析3.1 系统描述网站流量统计系统包括三个基本部分,一个是记录访客部分,包括记录访客的IP 地址,浏览器信息,操作系统信息,浏览时间,离开时间,浏览页面,会话记录。一个是系统管理部分,包括用户管理,用户组管理,权限管理,站点管理,访客管理。还有一个是统计部分,包括在线人数统计,综合数据统计,单日流量统计等。3.2 统计网站识别本系统由于要对多个网站进行统计,所以必

17、须区分访问不同站点的访客。每个网站都由系统生成唯一的编号,通过让不同的网站引用名为该网站编号的图片,就能区分出是来自哪个网站的访客。3.3 页面识别一个网站包含多个页面。区分访客对不同页面的访问对统计来说意义重大。在图片请求 Request 中的 Referer 包含引用图片的网页的网址。通过它不仅能区分访客访问什么页面,还能判断是否是属于某网站域名下的 URL,以过滤第三方引用图片造成的 Request。3.4 访客识别区分不同的访客是统计系统的关键所在,一般认为一个 IP 代表一个访客。但是当多个内网访客共用一个外网 IP 时,就会造成只有一个访客的假像。通过基于Cookie 的会话(se

18、ssion)机制,就能区分以浏览器客户端为单位的用户。网站流量统计系统 883.5 停留时间Http 是一个无状态协议,同一个会话的连续两个请求互相不了解,他们由最新实例化的环境进行解析,除了应用本身可能已经存储在全局对象中的所有信息外,该环境不保存有会话有关的任何信息。因此需要依赖 Ajax 技术,由客户端每隔数秒想服务器发送 Request,以维持状态的持续性。当关闭页面时,Request 发送就会停止,由此可以确定访客的停留时间.网站流量统计系统 99第 4 章 系统设计4.1 数据库关系结构图单向箭头表示多对一关系,双向箭头表示多多对多关系。用户访客 权限网站 用户组消息图 4.1 数

19、据库结构关系示意图4.2 数据库表结构4.2.1 基本表1、访客表描述表 4.1 访 客 表 描 述字段名 含义说明 别名 类型 允许空 是否主键 是否外键id 唯一标识 integer 否 是 否addr IP 地址 IP char(15) 否 否 否browser 浏览器名 浏览器 varchar(30) 否 否 否version 浏览器版本 浏览器版本 varchar(20) 否 否 否os 操作系统 操作系统 varchar(30) 否 否 否os_version 操作系统版本 操作系统版本 varchar(20) 否 否 否session 会话标识 varchar(32) 否 否 否refere 引用路径 路径 varchar(200) 否 否 否start 访客访问时间 访问时间 datetime 否 否 否end 访客离开时间 离开时间 datetime 否 否 否agent 用户代理信息 用户代理 varchar(300) 否 否 否website_id 网站标识 integer 否 否 是

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 企业管理资料库 > 生产营运

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。