网站统计功能的设计与实现

news/2024/5/16 4:48:24/文章来源:https://blog.csdn.net/weixin_33788244/article/details/93390531


本文简要介绍网站统计功能的设计与实现。

本文分为以下五个部分:

  1. 埋点设计与实现
  2. 页面引入
  3. 数据接收
  4. 数据入库
  5. 统计分析

 

一、埋点设计与实现

在JavaScript中,包含了很多对象,可以用于获取用户的数据。比如Document对象用于分析每个载入浏览器的 HTML 文档,可以获得当前文档的域名、URL、及当前文档的标题;Navigator对象包含有关浏览器的信息,可以得到运行浏览器的userAgent的值,当前系统的语言;而Screen对象则可以获得当前屏幕的相关信息。通过这些对象,我们可以得到一个相当完备的用户信息。
另外,通过其他接口,还可以得到用户的mac地址及IP地址,继而可以分析出用户的机器及所在省市区地址等。

我们使用javascript获取访问信息,将统计代码伪装成图片通过浏览器访问触发,代码实现如下。

 

二、页面引入

在要做统计的web页面中引入统计脚本,并主动将其他接口获得的mac及ip地址另外传入,一个简易的页面设计如下代码所示。

 

三、数据接收

在后台接口中接收上报上来的数据。我们使用php程序获取get及post的数据来接收。

上述接口程序获得的文件日志中数据如下所示。

复制代码
17:38:25 http://www.fangbei.org?domain=www.fangbei.org&url=http%3A%2F%2Fwww.fangbei.org%2F_test%2Fstat.html&title=%e6%96%b9%e5%80%8d%e5%b7%a5%e4%bd%9c%e5%ae%a4&referrer=&sh=1920&sw=1080&cd=24&useragent=Mozilla%2F5.0%20(Linux%3B%20U%3B%20Android%205.1.1%3B%20zh-cn%3B%20Mi-4c%20Build%2FLMY47V)%20AppleWebKit%2F533.1%20(KHTML%2C%20like%20Gecko)Version%2F4.0%20MQQBrowser%2F5.4%20TBS%2F025483%20Mobile%20Safari%2F533.1%20MicroMessenger%2F6.3.9.48_refecd3e.700%20NetType%2FWIFI%20Language%2Fzh_CN&platform=Linux%20aarch64&language=zh-CN&usermac=185E0F88F5EF&apmac=185E0F88F5F0
17:38:25 
17:38:25 _GET: Key: domain; Value: www.fangbei.org
17:38:25 _GET: Key: url; Value: http://www.fangbei.org/_test/stat.html
17:38:25 _GET: Key: title; Value: 方倍工作室
17:38:25 _GET: Key: referrer; Value: 
17:38:25 _GET: Key: sh; Value: 1920
17:38:25 _GET: Key: sw; Value: 1080
17:38:25 _GET: Key: cd; Value: 24
17:38:25 _GET: Key: useragent; Value: Mozilla/5.0 (Linux; U; Android 5.1.1; zh-cn; Mi-4c Build/LMY47V) AppleWebKit/533.1 (KHTML, like Gecko)Version/4.0 MQQBrowser/5.4 TBS/025483 Mobile Safari/533.1 MicroMessenger/6.3.9.48_refecd3e.700 NetType/WIFI Language/zh_CN 17:38:25 _GET: Key: platform; Value: Linux aarch64 17:38:25 _GET: Key: language; Value: zh-CN 17:38:25 _GET: Key: usermac; Value: 185E0F88F5EF 17:38:25 _GET: Key: apmac; Value: 185E0F88F5F0 17:38:43 http://www.fangbei.org?domain=www.fangbei.org&url=http%3A%2F%2Fwww.fangbei.org%2F_test%2Fstat.html&title=%e6%96%b9%e5%80%8d%e5%b7%a5%e4%bd%9c%e5%ae%a4&referrer=&sh=1184&sw=720&cd=24&useragent=Mozilla%2F5.0%20(Linux%3B%20U%3B%20Android%204.4.2%3B%20zh-cn%3B%20H60-L01%20Build%2FHDH60-L01)%20AppleWebKit%2F533.1%20(KHTML%2C%20like%20Gecko)Version%2F4.0%20MQQBrowser%2F5.4%20TBS%2F025489%20Mobile%20Safari%2F533.1%20MicroMessenger%2F6.3.9.48_refecd3e.700%20NetType%2FWIFI%20Language%2Fzh_CN&platform=Linux%20armv7l&language=zh-CN&usermac=185E0F88F5EF&apmac=185E0F88F5F0 17:38:43 17:38:43 _GET: Key: domain; Value: www.fangbei.org 17:38:43 _GET: Key: url; Value: http://www.fangbei.org/_test/stat.html 17:38:43 _GET: Key: title; Value: 方倍工作室 17:38:43 _GET: Key: referrer; Value: 17:38:43 _GET: Key: sh; Value: 1184 17:38:43 _GET: Key: sw; Value: 720 17:38:43 _GET: Key: cd; Value: 24 17:38:43 _GET: Key: useragent; Value: Mozilla/5.0 (Linux; U; Android 4.4.2; zh-cn; H60-L01 Build/HDH60-L01) AppleWebKit/533.1 (KHTML, like Gecko)Version/4.0 MQQBrowser/5.4 TBS/025489 Mobile Safari/533.1 MicroMessenger/6.3.9.48_refecd3e.700 NetType/WIFI Language/zh_CN 17:38:43 _GET: Key: platform; Value: Linux armv7l 17:38:43 _GET: Key: language; Value: zh-CN 17:38:43 _GET: Key: usermac; Value: 185E0F88F5EF 17:38:43 _GET: Key: apmac; Value: 185E0F88F5F0 17:38:50 http://www.fangbei.org?domain=www.fangbei.org&url=http%3A%2F%2Fwww.fangbei.org%2F_test%2Fstat.html&title=%e6%96%b9%e5%80%8d%e5%b7%a5%e4%bd%9c%e5%ae%a4&referrer=&sh=592&sw=360&cd=32&useragent=Mozilla%2F5.0%20(Linux%3B%20Android%204.4.2%3B%20H60-L01%20Build%2FHDH60-L01)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Version%2F4.0%20Chrome%2F30.0.0.0%20Mobile%20Safari%2F537.36&platform=Linux%20armv7l&language=zh-CN&usermac=185E0F88F5EF&apmac=185E0F88F5F0 17:38:50 17:38:50 _GET: Key: domain; Value: www.fangbei.org 17:38:50 _GET: Key: url; Value: http://www.fangbei.org/_test/stat.html 17:38:50 _GET: Key: title; Value: 方倍工作室 17:38:50 _GET: Key: referrer; Value: 17:38:50 _GET: Key: sh; Value: 592 17:38:50 _GET: Key: sw; Value: 360 17:38:50 _GET: Key: cd; Value: 32 17:38:50 _GET: Key: useragent; Value: Mozilla/5.0 (Linux; Android 4.4.2; H60-L01 Build/HDH60-L01) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36 17:38:50 _GET: Key: platform; Value: Linux armv7l 17:38:50 _GET: Key: language; Value: zh-CN 17:38:50 _GET: Key: usermac; Value: 185E0F88F5EF 17:38:50 _GET: Key: apmac; Value: 185E0F88F5F0

 

复制代码

 

四、数据入库

要做统计分析,最终数据都要放放数据库,

数据库表设计如下

入库后如下所示

 

五、统计分析

最后,将获得的数据进行分析

比如昨天访问量的SQL查询语句如下

生成的图形如下

 

其他生成的统计图表如下

 

 

基于访问次数的二次分析-客户忠诚度的统计如下

转载于:https://www.cnblogs.com/lanzhi/p/6467360.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_780831.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CssStats – 分析和优化网站 CSS 代码的利器

CssStats 是一个在线的 CSS 代码分析工具,你只需要输入网址或者直接 CSS 地址即可进行 CSS 代码的全方位分析,是前端开发人员和网页设计师分析网站 CSS 代码的利器,可以统计出 CSS 代码里的规则数量、字体颜色、字体大小、背景颜色数等等。 马…

高并发高流量网站架构

为什么80%的码农都做不了架构师?>>> #0 系列目录# 应用系统架构大型网站技术架构的演进与设计大型网站技术架构的实践大型网站图片服务器架构的演进大型网站架构的灵魂—性能大型网站架构的缓存亿级Web系统搭建—单机到分布式集群高并发Web服务的演变—…

linux shell脚本备份数据库和网站到远程FTP服务器

2019独角兽企业重金招聘Python工程师标准>>> #!/bin/bash#本地备份路径 LOCAL_BACK_PATH/home/backup#mysqldump的执行路径 MYSQL_PATH/usr/local/mysql/bin/mysql MYSQL_DUMP_PATH/usr/local/mysql/bin/mysqldump#FTP信息 FTP_BIN_PATH/usr/bin/ftp FTP_IP10.146.1…

Linux初学者必知的5个学习网站

分享几个Linux初学者一定要知道的5个学习网站 工具/原料 有一颗学习Linux的心电脑方法/步骤 1推荐一:鸟哥的Linux私房菜(http://vbird.dic.ksu.edu.tw/) 这个不用多说吧,只要你学习Linux就肯定听说过鸟哥的私房菜,经典…

怎么让网站在本地支持SSL?

打开vs,点击项目,查看属性,打开ssl 如果有什么危险提示,就允许 右击项目,选择属性 运行项目

开发者必去的10大国内网站推荐

2019独角兽企业重金招聘Python工程师标准>>> 1、dev666网址导航 dev666网址导航是非盈利无广告、为开发者量身定制的网址导航,整体界面纯净无广告,开发者常用的网站一触即达,主要模块包括:『名站导航』、『开放平台』、…

PhantomJS NodeJS 在京东网站前端监控平台的最佳实践

本文首发于 infoQ 及「前端之巅」微信公众号(微信群直播记录),感谢 infoQ 前端之巅尾尾同学对文章的整理和校对、微信群直播的组织策划为什么需要一个前端监控系统 通常在一个大型的 Web 项目中有很多监控,比如后端的服务 API 监控…

LNMP环境, 网站无法访问

LNMP 环境, 网站无法访问1. 查服务器自身防火墙是否放行端口2. 服务器托管方是否有安全组设置3.查看服务器端口监听状态1. 查服务器自身防火墙是否放行端口 查看命令 # centos7 查看防火墙状态 firewall-cmd --state # centos6 查看防火墙状态 service iptables status防火墙…

在线小说网站的设计与实现(附源码)

最近在做一个课程设计,在线小说网站的设计,以下是课题要求,需要项目练手的童鞋可以试试身手。 由于最近新学了JavaEE,所以采用了jspservlet来写,前端部分用了少量的js和jQuery处理,数据库用了MySQL&#xf…

jmeter模拟对网站做压力测试

一般的网站,在进入业务功能前先需登录,然后才能访问业务功能。基本框架如下 详细步骤: 1 .用badboy录制登录,访问随意一个网址。 2.用jmeter打开,一会自己写的时候可以参考里面的参数名称或路径什么的。如果对http熟悉…

一、大型网站架构演化

为什么80%的码农都做不了架构师?>>> (1)大型网站软件系统的特点 高并发,大流量;高可用;海量数据;用户分布广泛,网络情况复杂;安全环境恶劣;需求快…

警方揭秘电信诈骗:黑客攻击政府网站非法获取个人信息

近日,河南省驻马店市平舆县警方成功破获一系列特大电信诈骗案,捣毁了多个诈骗团伙,这些团伙分工明确,一年之内就在全国作案2300多起,涉案资金超过3000万元。 诈骗团队是如何获取公民个人信息的?诈骗链条上各…

asp.net core下的如何给网站做安全设置

首先,我们来看下stack overflow网站的请求头文件: 可以看到一些我们熟悉或是陌生的HTTP头部文件字段。在这里我们在对HTTP输入流的头部文件中,做一些基本的防护。首先要明确,既然我们是对HTTP头部做处理,那么就需要在S…

基于Nginx的负载均衡网站架构

操作环境:VMware Fusion 操作系统:Centos6 实验架构设计图及实现:实验说明:Nginx服务器作为Web前端,当接收到用户的Web访问请求时,将请求转发 给内部真正的WEB服务器。Nginx具有两个网卡,一个网…

psn请验证您不是机器人_机器人模仿人类难?网站验证码是如何区分人类和机器的?...

为了避免注册垃圾用户以及盗取数据(撞库),大多数网站都会用验证码来阻止机器人登陆,虽然验证码让很多用户感到厌烦,但它成功地阻挡了绝大多数机器人,也在保护我们数据的安全。那么验证码是怎么区分人类和机器人(电脑程序)的呢&…

网站Web业务架构从小到大演变

有一天,我突发奇想创建了一个站点,基于 LNMP 架构,起初只有我自己访问,后来因为我点儿正,访问量越来越大,所以最终导致下面的架构演变。 1、单台机器 单台机器因为只是一个小站,访问量一天也没有…

网站时常出现too many connection的错误

安装了一个程序,大访问量测试的时候发现竟然连接不上数据库了,仔细检查发现MySQL数据库出现1040错误,提示“too many connections”。那么改如何解决这个问题呢?其实MySQL默认的最大连接数为100,可能在大访问量的时候造…

什么是域名?什么网站名?什么是URL?

2019独角兽企业重金招聘Python工程师标准>>> 搬运自:https://jingyan.baidu.com/article/2c8c281df0afd00008252aa7.html 转载于:https://my.oschina.net/tanghaoo/blog/3006600

【SEO技巧】用户需求不等于用户真正需求

大家都知道网站要做得好,首先的前提 是要分析 用户需求,只有用户需求分析正确了才能将网站真正的做起来,俗话说的好知己知彼才能百战不殆。 什么是用户需求分析: 用户需求分析是指在系统设计之前和设计、开发过程中对用户需求所作…

Android 学习论坛博客及网站推荐

出处:http://blog.csdn.net/tangcheng_ok/article/details/6909049 一、博客推荐 1)http://blog.csdn.net/android_tutor (Android开发入门基础,高级进阶) 2)http://blog.csdn.net/hellogv (入…