网站流量统计系统.docx

上传人:b****4 文档编号:4597440 上传时间:2023-05-07 格式:DOCX 页数:35 大小:251.31KB
下载 相关 举报
网站流量统计系统.docx_第1页
第1页 / 共35页
网站流量统计系统.docx_第2页
第2页 / 共35页
网站流量统计系统.docx_第3页
第3页 / 共35页
网站流量统计系统.docx_第4页
第4页 / 共35页
网站流量统计系统.docx_第5页
第5页 / 共35页
网站流量统计系统.docx_第6页
第6页 / 共35页
网站流量统计系统.docx_第7页
第7页 / 共35页
网站流量统计系统.docx_第8页
第8页 / 共35页
网站流量统计系统.docx_第9页
第9页 / 共35页
网站流量统计系统.docx_第10页
第10页 / 共35页
网站流量统计系统.docx_第11页
第11页 / 共35页
网站流量统计系统.docx_第12页
第12页 / 共35页
网站流量统计系统.docx_第13页
第13页 / 共35页
网站流量统计系统.docx_第14页
第14页 / 共35页
网站流量统计系统.docx_第15页
第15页 / 共35页
网站流量统计系统.docx_第16页
第16页 / 共35页
网站流量统计系统.docx_第17页
第17页 / 共35页
网站流量统计系统.docx_第18页
第18页 / 共35页
网站流量统计系统.docx_第19页
第19页 / 共35页
网站流量统计系统.docx_第20页
第20页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

网站流量统计系统.docx

《网站流量统计系统.docx》由会员分享,可在线阅读,更多相关《网站流量统计系统.docx(35页珍藏版)》请在冰点文库上搜索。

网站流量统计系统.docx

网站流量统计系统

网站流量统计系统

摘要

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

常用的网站流量统计指标包括三类:

(1)网站流量指标,如在一定统计周期那网站的独立用户数量、总用户数量、网页浏览数量、每个用户的页面浏览数量等;

(2)用户行为指标,如用户来源网站、用户所使用的搜索引擎及其关键词、在不同时段的访问量情况等;(3)用户浏览网站的方式,如用户上网设备类型、用户浏览器的名称和版本、访问者电脑分辨率显示模式等。

获取网站访问统计资料通常有两种方法:

(1)在自己的网站服务器端安装统计分析软件进行监测;

(2)采用第三方提供的网站流量分析服务。

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

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

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

Abstract

Thestatisticsofflowofwebsitesistoimproveoneoftheimportantmeansthatwebsitesserve,throughobtaininguser'sbehaviorinwebsites,cananalyseswhatcontentwelcome,whatpagestoreproblemin,thusmakewebsitesimprovetheactivityevenmorepointedly.

Thecommonlyusedindexofstatisticsofflowofwebsiteincludesthreekinds:

(1)Websiteflowindex,inwillcertainlycountcycleindependentuserquantity,chiefuserquantity,webpageofwebsitethatbrowsethroughquantity,eachpageofuserbrowsethroughquantity,etc.;

(2)User'sbehavioralindex,forinstancesearchengine,keyword,visitcapacitysituationindifferentperiodwhichuser'ssourcewebsites,usersuse,etc.;(3)Usersbrowsethroughthewaysofwebsites,forinstancename,edition,resolutionratioofvisitor'scomputeroftypeofuser'sequipmentforsurfingthenet,user'sbrowserrevealthemodeetc..

Usuallytherearetwokindsofmethodstoobtainthestatisticaldataofvisitingofwebsites:

(1)Monitorinone'sownserverendinstallationstatisticalanalysissoftwareofwebsite;

(2)Adopttheflowofwebsitethatthethirdpartyofferedandanalyzethatserve.

Twokindsofmethodseachhaveprosandcons,itcangetdetailedstatisticalinformationofwebsiteconvenientlytoadoptthefirstkindofmethod,anddoesnotneedotherdirectexpensesbesidesexpensesofthesoftwareofaccessstat.,butbecausethesematerialsareonone'sownserver,lackconvincingnesswhileofferingrelevantdatatothethirdparty;Thesecondkindofmethodjusthasthiskindofadvantage,butwillusuallypayforthiskindofservice,thoughsomestatisticsofflowoffreewebsiteserveeven,becausethereiscertainrestrictioninfunction,orusuallyneedtopresentidentificationsevenadvertisementsofthefacilitatoronwebsites.

Soregardwebsite'sflowofthirdparty'sstatisticsasthedesignbasisinperson,usePythonprogramminglanguageandwebtodeveloptheframeDjango,combineSQLite3database,finishestothevisitor'sIPaddress,thebrowser,operatingsystem,hasalookaroundtherecordofthepage,andcountaccordingtotheunitoftime.

Keywordwebsitestats;python;django;sqlite;

目录

摘要I

AbstractII

目录III

第1章绪论1

1.1网站流量统计的动机1

1.2网站流量统计指标1

1.3网站流量统计原理2

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

2.1Python语言简介4

2.2Django框架简介4

2.3SQLite数据库简介5

第3章需求分析7

3.1系统描述7

3.2统计网站识别7

3.3页面识别7

3.4访客识别7

3.5停留时间8

第4章系统设计9

4.1数据库关系结构图9

4.2数据库表结构9

4.2.1基本表9

4.2.1关系表11

第5章系统实现13

5.1访客记录的实现13

5.2管理界面的实现13

5.2.1注册页面13

5.2.2登录页面14

5.2.3超级用户页面14

5.2.4网站管理15

5.2.5访客信息15

5.2.6用户管理16

5.2.7用户组管理18

5.3统计界面的实现19

5.3.1在线人数统计19

5.3.2综合统计报告19

5.3.3单日统计报告19

第6章系统测试21

6.1功能测试21

6.1.1链接测试21

6.1.2表单测试21

6.1.3cookies测试21

6.1.4设计语言测试22

6.1.5数据库测试22

6.2性能测试22

6.2.1连接速度测试22

6.2.2负载测试23

6.2.3压力测试23

6.3可用性测试23

6.3.1导航测试23

6.3.2图形测试24

6.3.3内容测试24

6.3.4整体界面测试24

结论26

致谢27

参考文献28

附录A29

附录B33

第1章绪论

1.1网站流量统计的动机

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

内容创建者可以从用户浏览模式测量那里收集有价值的数据。

考虑销售图书的电子商务站点,站点访问者数量的统计数字将影响Web页面里嵌广告带来的广告收入。

另外,分析用户访问模式可以指导Web站点重新设计的过程。

设想有许多用户访问主页,并点击特定次序的超文本链接以查找到平装书籍。

这将激发改变主页的想法,以提供给含有大量普通图书列表的直接链接。

知道用户停留在网站有多长时间和下载了多少网页将是很有用的。

如果许多用户在查看了一两页后就离开的话,那么网站就需要更好地组织或增加更令人感兴趣的资料。

在连续网页间迅速切换的用户可能不会发现他们想要的信息。

于是内容创建者可通过允许用户根据主题搜索站点来解决这个问题。

内容的创建者也可能对知道用户怎么到达Web站点感兴趣。

例如,设想对图书网站的访问请求的25%是用户从某个新闻网站点击超文本链接而来,那么图书销售商可能会在这个新闻网站继续做广告。

测量也可以用来刻画Web站点的性能特征。

1.2网站流量统计指标

网站流量统计的基础是获取网站流量的基本数据,网站流量统计指标大致可以分为三类,每类包含若干数量的统计指标。

具体的网站流量统计是通过不同的IP登陆网站来计算的。

也就是说,一天内同一台机器登陆网站的次数不论是多少,在流量统计中只记为一次有效登陆,这种计算方法可以较为科学的计算出有多少人登陆过该网站,有效的防止了有意的对网站进行刷新从而增加自己网站的点击率。

网站流量指标:

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

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

3、页面浏览数(pageviews);

4、每个访问者的页面浏览数(pageviewsperuser);

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

用户行为指标:

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

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

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

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

用户浏览网站的方式:

1、用户上网设备类型;

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

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

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

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

1.3网站流量统计原理

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

通过向所要统计网站页面中插入一段HTML代码来实行转向访问。

HTTP请求标头(Request-Header)中包含了用户代理(User-Agent),引用地址(Referer),以及通过WEB服务器获得客户端的IP地址。

绝大多数HTTP通讯由用户代理进行初始化,并通过它来组装请求以获取存储在一些原始服务器上的资源。

在最简单的情况下,通过用户代理与原始服务器之间一个简单的连接就可以完成。

图1.1HTTP通讯过程

HTTP/1.0的请求标头允许客户端向服务器端传递该请求的附加信息及客户端信息。

该域做为请求的修饰部分,遵照编程语言程序调用参数的语法形式。

[1][2]

Request-Header=Authorization;用户代理的身份凭证

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

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

|Referer;引用页面的URI

|User-Agent;用户代理软件的信息

HTTP/1.1请求标头已经增加到了19个,不过增加的部分并不包含所要收集的数据,所以本文不进行列举。

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

2.1Python语言简介

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、PalmOS、PlayStation与PSP、Psion、QNX、RISCOS、Series60、SparcSolaris、VMS、VxWorks、WindowsCE或PocketPC、SharpZaurus、MorphOS等。

可扩充性可说是Python作为一种编程语言的特色。

新的内置模块(module)可以用C或C++写成。

而我们也可为现成的模块加上Python的界面。

Python可以使用户避免过分的语法的羁绊而将精力主要集中到所要实现的程序任务上。

因此Python具有非常庞大的程序库,通过它们可以快速完成绝大部分常用的任务,如:

从某个URL中获取信息、正则表达式、获得某个文件或字符串的MD5特征字符串、多线程、XML及HTML的分析等。

Python也被称为是一门清晰的语言。

因为它的作者在设计它的时候,总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了

2.2Django框架简介

Django是一个开放源代码的Web应用框架,由Python写成。

采用了MVC的设计模式,即模型M,模版T和视图控制器V。

它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的。

并于2005年7月在BSD许可证下发布。

这套框架是以比利时的吉普赛爵士吉他手DjangoReinhardt来命名的。

Django的主要目标是使得开发复杂的、数据库驱动的网站变得简单。

Django注重组件的重用性和“可插拔性”,敏捷开发和DRY法则(Don'tRepeatYourself)。

在Django中Python被普遍使用,甚至包括配置文件和数据模型。

Django框架的核心包括:

一个对象-关系的映射器,用作数据模型(以Python类的形式定义)和关系数据库间的媒介;一个基于正则表达式的URL分发器;一个视图系统,用于处理请求;以及一个模板系统。

核心框架中还包括:

1、一个轻量级的、独立的Web服务器,用于开发和测试。

2、一个表单序列化及验证系统,用于HTML表单和适于数据库存储的数据之间的转换。

3、一个缓存框架,并有几种缓存方式可供选择。

4、中间件支持,允许对请求处理的各个阶段进行干涉。

5、内置的分发系统允许应用程序中的组件采用预定义的信号进行相互间的通信。

6、一个序列化系统,能够生成或读取采用XML或JSON表示的Django模型实例。

7、一个用于扩展模板引擎的能力的系统。

Django包含了很多应用在它的“contrib”包中,这些包括:

1、一个可扩展的认证系统

2、动态站点管理页面

3、一组产生RSS和Atom的工具

4、一个灵活的评论系统

5、产生Google站点地图(GoogleSitemaps)的工具

6、防止跨站请求伪造(cross-siterequestforgery)的工具

7、一套支持轻量级标记语言(Textile和Markdown)的模板库

8、一套协助创建地理信息系统(GIS)的基础框架

2.3SQLite数据库简介

SQLite是遵守ACID的关联式数据库管理系统,它包含在一个相对小的C库中。

它是D.RichardHipp建立的公有领域项目。

不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。

所以主要的通信协议是在编程语言内的直接API调用。

这在消耗总量、延迟时间和整体简单性上有积极的作用。

整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。

它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。

库实现了多数的SQL-92标准,包括事务,就是代表原子性、一致性、隔离性和持久性的(ACID),触发器和多数的复杂查询。

不进行类型检查。

你可以把字符串插入到整数列中。

例如,某些用户发现这是使数据库更加有用的创新,特别是与无类型的脚本语言一起使用的时候。

其他用户认为这是主要的缺点。

多个进程或线程可以访问同一个数据而没有问题。

可以并行的满足多个读访问。

只有在其他访问当前不被服务的时候才能满足写访问;否则写访问失败并带有一个错误代码(也可以在可配置的超时过期之后自动的重试)。

提供了叫做sqlite的一个独立程序用来查询和管理SQLite数据库文件。

它也充当写使用SQLite库的应用的一个例子

第3章需求分析

3.1系统描述

网站流量统计系统包括三个基本部分,一个是记录访客部分,包括记录访客的IP地址,浏览器信息,操作系统信息,浏览时间,离开时间,浏览页面,会话记录。

一个是系统管理部分,包括用户管理,用户组管理,权限管理,站点管理,访客管理。

还有一个是统计部分,包括在线人数统计,综合数据统计,单日流量统计等。

3.2统计网站识别

本系统由于要对多个网站进行统计,所以必须区分访问不同站点的访客。

每个网站都由系统生成唯一的编号,通过让不同的网站引用名为该网站编号的图片,就能区分出是来自哪个网站的访客。

3.3页面识别

一个网站包含多个页面。

区分访客对不同页面的访问对统计来说意义重大。

在图片请求Request中的Referer包含引用图片的网页的网址。

通过它不仅能区分访客访问什么页面,还能判断是否是属于某网站域名下的URL,以过滤第三方引用图片造成的Request。

3.4访客识别

区分不同的访客是统计系统的关键所在,一般认为一个IP代表一个访客。

但是当多个内网访客共用一个外网IP时,就会造成只有一个访客的假像。

通过基于Cookie的会话(session)机制,就能区分以浏览器客户端为单位的用户。

3.5停留时间

Http是一个无状态协议,同一个会话的连续两个请求互相不了解,他们由最新实例化的环境进行解析,除了应用本身可能已经存储在全局对象中的所有信息外,该环境不保存有会话有关的任何信息。

因此需要依赖Ajax技术,由客户端每隔数秒想服务器发送Request,以维持状态的持续性。

当关闭页面时,Request发送就会停止,由此可以确定访客的停留时间.

第4章系统设计

4.1数据库关系结构图

单向箭头表示多对一关系,双向箭头表示多多对多关系。

图4.1数据库结构关系示意图

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

2、网站表描述

表4.2网站表描述

字段名

含义说明

别名

类型

允许空

是否主键

是否外键

id

唯一标识

integer

name

网站名

网站名

varchar(300)

url

网站网址

URL

varchar(200)

user_id

用户标识

integer

3、用户表描述

表4.3用户表描述

字段名

含义说明

别名

类型

允许空

是否主键

是否外键

id

唯一标识

integer

username

用户名

用户名

varchar(30)

first_name

名字

名字

varchar(30)

last_name

姓氏

姓氏

varchar(30)

email

E-mail地址

E-mail地址

varchar(75)

password

帐号密码

密码

varchar(128)

is_staff

是否职员

职员状态

bool

is_active

是否可用

有效

bool

is_superuser

是否超级用户

超级用户状态

bool

last_login

最后登陆时间

上次登录

datetime

date_joined

帐号注册时间

加入日期

datetime

4、用户组表描述

表4.4用户组表描述

字段名

含义说明

别名

类型

允许空

是否主键

是否外键

id

唯一标识

integer

name

组名

组名

varchar(30)

5、权限表描述

 

表4.5用户权限表描述

字段名

含义说明

别名

类型

允许空

是否主键

是否外键

id

唯一标识

integer

name

权限名

权限名

varchar(30)

6、消息表描述

表4.6用户消息表描述

字段名

含义说明

别名

类型

允许空

是否主键

是否外键

id

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2