本篇主要介绍目前网站数据采集的主流方式,之后篇章会介绍客户端数据采集目前主流的实现方式。

目前有很多数据采集云平台,如Google anylytics,百度统计,腾讯统计等等,还有一些平台也非常不错:

一.友盟+,支持移动端和web端数据采集,个性化场景数据定制采集方案。官网给的一些demo可以参考来设计大数据的分析展现,例如:友盟的:

https://web.umeng.com/main.php?c=site&a=frame&siteid=1255975670#!/1493738363987/site/overview/1/1255975670/2017-05-02/2017-05-02

百度的:

https://tongji.baidu.com/web/5473605/overview/index?siteId=1942168

值得借鉴~

二。count.ly,支持web,iot,移动端数据采集,并且所有相关源码都是开放的,地址:https://github.com/Countly,可以从源代码看一下数据采集实现的思路,基本上和其他家的采集实现方案类似。

三. growingio(除了web外,主推移动端无埋点可配置数据采集)

四。cobub(代码开源,但是github上好久没更新了,貌似~~)

五.神策数据,支持web和移动端数据采集,提供多种语言的sdk。而且支持可视化埋点方案,web数据采集也支持可视化配置埋点.更多内容:https://www.sensorsdata.cn/manual/vtrack_intro.html#

六。heap,可视化配置事件(Heap并不自动采集各种行为,而且要你配置,但是它提供了一个非常方便的可视化配置功能)

七。Mouseflow,可记录所有的鼠标滑动轨迹,点击动作,表单项操作等。

还有很多很多...

对于网站采集数据的主流实现方式是通过javascript脚本引入,记录页面动作与变化,搜集数据后作为参数,通过gif图片(gif图片格式请求可以解决跨域问题)请求上报。

比如一些大型网站,可以看到他们的数据采集方式:

淘宝:

https://log.mmstat.com/1.gif?logtype=1&title=淘宝网 - 淘!我喜欢&pre=https://www.taobao.com/&cache=fda9e4a&scr=1680x1050&cna=5Hb+EOi5CB0CAd3Yh2b/NJpD&spm-cnt=a21bo.50862.0.0.jLJLtF&category=&uidaplus=&aplus&yunid=&tfujsVWMaHw7&asid=AQAAAABhqghZIZwQEwAAAABKVzXhhdT/Jw==&thw=cn&p=1&o=mac&b=firefox52&s=1680x1050&w=gecko&ism=mac&lver=7.2.6&jsver=aplus_std&isAplusInternal=Y&tag=1&stag=-1

聚划算:

https://log.mmstat.com/v.gif?logtype=1&title=【聚划算】无所不能聚&pre=https://www.taobao.com/&cache=a33321d&scr=1680x1050&cna=5Hb+EOi5CB0CAd3Yh2b/NJpD&spm-cnt=608.2291429.0.0.jlAKVM&category=&uidaplus=&at_bucketid=jhs_ju_1&aplus&&yunid=&tfujsVWMaHw7&trid=0bb44f8b14937400146176466efb6f&asid=AQAAAADuqQhZBJAqAAAAAAC8/B6w8Q5mBg==&sidx=3oCNVu6pCFl4cac9cTewHKaVaGLLd6xM&ckx=jutaobaocom|wwwtaobaocom&thw=cn&p=1&o=mac&b=firefox52&s=1680x1050&w=gecko&ism=mac&lver=7.3.4&jsver=aplus_std&isAplusInternal=Y&tag=1&stag=-1

京东:

https://mercury.jd.com/log.gif?t=www.100000&m=UA-J2011-1&pin=-&uid=1819884645&sid=1819884645|1&v=je=0$sc=24-bit$sr=1680x1050$ul=zh-cn$cs=UTF-8$dt=京东(JD.COM)-正品低价、品质保障、配送及时、轻松购物!$hn=www.jd.com$fl=24.0 r0$os=mac$br=firefox$bv=52.0$wb=1484228834$xb=1484228834$yb=1493740206$zb=1$cb=1$usc=direct$ucp=-$umd=none$uct=-$lt=0$ct=1493740205944$tad=-$pinid=-$jdv=122270672|direct|-|none|-|1493740205947$dataver=0.1&ref=&rm=1493740205948

百度:

http://hm.baidu.com/hm.gif?cc=0&ck=1&cl=24-bit&ds=1680x1050&et=0&fl=24.0&ja=0&ln=zh-cn&lo=0&nv=1&rnd=204781663&si=e9e114d958ea263de46e080563e254c4&st=3&su=https://www.baidu.com/&v=1.2.14&lv=1&ct=!!&tt=百度新闻搜索——全球最大的中文新闻平台&sn=63188

基本实现方式都是类似的,比如google Analytics,使用的时候先需要在采集数据的页面中引入下面脚本:

<!-- Google Analytics -->

<script>

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){

(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)

})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-XXXXX-Y', 'auto');

ga('send', 'pageview');

</script>

<!-- End Google Analytics -->

页面加载的时候会执行脚本,下载analytics.js,这个js文件中定义了数据搜集的函数和变量,用户可以自定义事件,基本通过一个ga函数不同传参即可实现,上面就初始化了ga的create和send两个动作,一个创建跟踪器对象,一个发送页面浏览的动作给服务器,send函数的实现就是发送一个gif图片请求,把搜集的参数拼接到url中。你可以定义自己的事件,详细可以参考:

https://developers.google.com/analytics/devguides/collection/analyticsjs/

另外可以看一下google analytics的js分析代码(之前版本ga.js)实现来加深了解,下载地址

http://download.csdn.net/detail/xuannxuan/5276625

个人设计的web采集数据方案:

  1. lg.js脚本引入页面中

  2. 通过gif图片请求到后端服务器

  3. 服务器记录请求参数到日志文件

  4. 日志文件实时抓取到消息队列

  5. 实时计算系统消费队列消息,完成分析整理

  6. 分析结果入ES,kibana二次开发展示

  7. ES历史数据入Hadoop

【DT】大数据之数据采集相关推荐

  1. DT大数据梦工厂 第51讲

    王家林亲授<DT大数据梦工厂>大数据实战视频"Scala深入浅出实战经典"视频.音频和PPT下载!第51讲:Scala中链式调用风格的实现代码实战及其在Spark编程中 ...

  2. 大数据的数据采集数据处理_让我们处理大数据

    大数据的数据采集数据处理 作为开发人员,我们的重点是简单,有效的解决方案,因此,最有价值的原则之一就是"保持简单和愚蠢". 但是使用Hadoop map-reduce很难坚持这一点 ...

  3. DT大数据 scala for查询

    王家林亲授<DT大数据梦工厂>大数据实战视频"Scala深入浅出实战经典"视频.音频和PPT下载!第87讲:Scala中使用For表达式做查询 百度云盘:http:// ...

  4. DT大数据梦工厂 第55,56讲

    王家林亲授<DT大数据梦工厂>大数据实战视频"Scala深入浅出实战经典"视频.音频和PPT下载!第55讲:Scala中Infix Type实战详解 百度云盘:http ...

  5. Spark分区详解!DT大数据梦工厂王家林老师亲自讲解!

    Spark分区详解!DT大数据梦工厂王家林老师亲自讲解! http://www.tudou.com/home/_79823675/playlist?qq-pf-to=pcqq.group 一.分片和分 ...

  6. 王家林亲授《DT大数据梦工厂》大数据实战视频“Scala深入浅出实战经典” 第46讲视频、音频和PPT下载!

    王家林亲授<DT大数据梦工厂>大数据实战视频"Scala深入浅出实战经典"视频.音频和PPT下载!第46讲: ClassTag .Manifest.ClassManif ...

  7. DT大数据梦工厂免费实战大数据视频全集 分享

    接触大数据有几年,以前一直都是对hadoop的使用.相比于日新月异的前端技术,我还是比较喜欢大数据--这个已经被热炒多年的课题,也相信从事大数据方面的技术研究是IT从业者的一条光明坦途. 2010年h ...

  8. 大数据:数据采集平台之Scribe

    大数据:数据采集平台之Scribe Apache Flume 详情请看文章:<大数据:数据采集平台之Apache Flume> Fluentd 详情请看文章:<大数据:数据采集平台之 ...

  9. 大数据:数据采集平台之Apache Flume

    大数据:数据采集平台之Apache Flume Apache Flume 详情请看文章:<大数据:数据采集平台之Apache Flume> Fluentd 详情请看文章:<大数据:数 ...

  10. 大数据:数据采集平台之Fluentd

    大数据:数据采集平台之Fluentd Apache Flume 详情请看文章:<大数据:数据采集平台之Apache Flume> Fluentd 详情请看文章:<大数据:数据采集平台 ...

最新文章

  1. 如何设计可自学习的五子棋AI?
  2. CTO集体怒吼:我到底要不要继续写代码(上篇)
  3. linux学习文档-1
  4. 1006 换个格式输出整数 (15分)
  5. 常用功能测试点汇总(转)
  6. 工具,帮助我们更高效的工作
  7. 三层交换机连接路由器时配置OSPF注意事项
  8. 实用干货!大数据入门的常用技术栈全在这里了
  9. 2021年机修钳工(中级)考试试卷及机修钳工(中级)试题及解析
  10. 深入linux网络编程(四):使用asio搭建商用服务器
  11. C++程序解线性一次方程组
  12. mysql如何找回误删除数据_mysql如何找回误删除数据
  13. face_recognition库的安装以及学习
  14. GetX概览 — Flutter 开发的百宝箱
  15. Gucci“瑕疵”口红海报是一种对审“丑”广告的致敬吗?
  16. 2022年度总结|我的CSDN成长历程
  17. 语句摘抄——第16周
  18. Windows Vista Business系统中成功安装的常用软件
  19. Fastreport.Net用户手册:打印Bands
  20. 2021ICPC欧洲东南部区域赛题解ACFGJKLN

热门文章

  1. 64位处理器_计算机微处理器介绍
  2. unity学习笔记(二)—— 制作第一个小游戏
  3. vscode 中 php 代码格式化插件和其他设置
  4. 2022年全球市场风电铸件总体规模、主要生产商、主要地区、产品和应用细分研究报告
  5. 亚马逊注册成功,需要的进一步的设置一:税务信息设置
  6. 视频结构化——原子能力解析
  7. android 测网速方案,Android_检测当前网速
  8. c语言母亲节算法,用Excel推算母亲节日期,能理解最后一种算法的是高手!
  9. 【Java学习笔记】斗地主规则抽牌模拟(利用LinkedList集合及Collections集合工具类实现)
  10. Linux命令 - rm命令