<?php
class GoogleAnlayticsMobile {
private $__utma; // __utma cookie 记录唯一身份访问者
private $__utma_c_time = 63072000; // 两年 (默认情况下是两年)
private $__utmb; // __utmb cookie 记录用户的一次Session失效时间
private $__utmb_c_time = 1800; // 30分钟 (默认情况下是两年)
private $__utmc; // __utmc cookie 用户退出浏览器后失效
private $__utmz; // __utmz cookie 主要功能记录访问来源
private $__utmz_c_time = 1800; // 30分钟 (默认情况下是半年)
private $ga_utmhn; // 网站域名
private $ga_utmac; // GA 账号
private $ga_utmwv = "4.9.2"; // 谷歌跟踪代码版本
private $ga_hash; // GA域名哈希值
private $ga_img = "http://www.google-analytics.com/__utm.gif";
private $ga_search = array(array("baidu","wd"),array("baidu","word")array("google","q"),array("sogou","q"),array("soso","w"),array("youdao","q"),array("bing","q"),array("sogou","yahoo"),array("114118","kw"));
private $ga_referer;
// private $remote_address;
private $time;
private $html;
function __construct($ga_utmac, $ga_utmhn, $URI = NULL, $ga_params = array()) {
$this->ga_utmac = $ga_utmac;
$this->ga_utmhn = $ga_utmhn;
$this->ga_hash = $this->Hash($ga_utmhn);
$this->time = time();
// 获取请求页面URI
if($URI==NULL) $URI = $_SERVER['REQUEST_URI'];
// 获取引荐网站URL
$this->ga_referer = $_SERVER['HTTP_REFERER'];
// 获取用户IP地址只保存前三位
$this->remote_address = $_SERVER['REMOTE_ADDR'];
// 获取流量来源
$source = $this->GetTrafficSource();
if($source["utmgclid"]!="") $source_str = "utmgclid=".$source["utmgclid"];
else $source_str = "utmcsr=".$source["utmcsr"];
$source_str .= "|utmccn=".$source["utmccn"]."|utmcmd=".$source["utmcmd"];
if($source["utmctr"]!="") $source_str .= "|utmctr=".$source["utmctr"];
if($source["utmcct"]!="") $source_str .= "|utmcct=".$source["utmcct"];
// Set all extra parameters like screen resolution, color depth
if(is_array($ga_params)) foreach ($ga_params as $key => $value) $ga_set_params .= "&".$key."=".rawurlencode($value);
else $ga_set_params = "";
// 检查"__utma"是否存在
if(isset($_COOKIE["__utma"])) {
$this->__utma = $_COOKIE["__utma"];
$this->__utmb = $_COOKIE["__utmb"];
$this->__utmz = $_COOKIE["__utmz"];
$__utmb = split("\.",$this->__utmb);
if(strpos($this->__utmz,"utmgclid")>-1) $pos = strpos($this->__utmz,"utmgclid");
else $pos = strpos($this->__utmz,"utmcsr");
$__utmz = split("\.",substr($this->__utmz,0,$pos));
$__utmz[4] = substr($this->__utmz,$pos);
$__utma = split("\.",$this->__utma);
// 检查"__utmc"是否存在,如果不存在,更新"__utma"中的访问次数。
if(!isset($_COOKIE["__utmc"])) {
// 增加访问次数
$__utma[5] = $__utma[5]+1;
// 更新访问时间
$__utma[3] = $__utma[4];
$__utma[4] = $this->time;
// 保存Cookies
$this->__utma = join(".",$__utma);
setcookie("__utma", $this->__utma, $this->time+$this->__utma_c_time, "/", ".".$this->ga_utmhn);
setcookie("__utmc", $__utma[0], 0, "/", ".".$this->ga_utmhn);
// 生成"__utmb"或更新"__utmb"中的访问页数。
if(isset($_COOKIE["__utmb"])) $__utmb[1] = 1;
else $__utmb = array($__utma[0], 1, 10, $this->time);
}
else $__utmb[1] = $__utmb[1]+1; // 在"__utmb"中添加访问页数
// 更新流量来源
if($__utmz[4]!=$source_str && $source["utmcsr"]!="(direct)") $__utmz = array($__utmz[0], $this->time, $__utma[5], $__utmz[3]+1, $source_str);
// 保存 "__utmb" and "__utmz"
$this->__utmb = join(".",$__utmb);
setcookie("__utmb", $this->__utmb, $this->time+$this->__utmb_c_time, "/", ".".$this->ga_utmhn);
$this->__utmz = join(".",$__utmz);
setcookie("__utmz", $this->__utmz, $this->time+$this->__utmz_c_time, "/", ".".$this->ga_utmhn);
}
else {
$c_id = sprintf("%f", (rand(1000000000,2147483647) ^ $this->ga_hash) * 2147483647);
$c_id = split("\.",$c_id);
$this->__utma = $this->ga_hash.".".$c_id[0].".".$this->time.".".$this->time.".".$this->time.".1";
$this->__utmb = $this->ga_hash.".1.10.".$this->time;
$this->__utmc = $this->ga_hash;
$this->__utmz = $this->ga_hash.".".$this->time.".1.1.".$source_str;
setcookie("__utma", $this->__utma, $this->time+$this->__utma_c_time, "/", ".".$this->ga_utmhn);
setcookie("__utmb", $this->__utmb, $this->time+$this->__utmb_c_time, "/", ".".$this->ga_utmhn);
setcookie("__utmc", $this->__utmc, 0, "/", ".".$this->ga_utmhn);
setcookie("__utmz", $this->__utmz, $this->time+$this->__utmz_c_time, "/", ".".$this->ga_utmhn);
}
// 发送页面图片请求
$this->html .= "<img src=\"".$this->ga_img.
"?utmwv=".$this->ga_utmwv.
"&utmn=".rand(1000000000,9999999999).
"&utmhn=".$this->ga_utmhn."".$ga_set_params.
"&utmhid=".rand(1000000000,9999999999).
"&utmr=".rawurlencode($this->ga_referer).
"&utmp=".rawurlencode($URI).
// "&utmip=".rawurlencode($this->remote_address).
"&utmac=".$this->ga_utmac."&utmcc=__utma%3D".$this->__utma."%3B%2B__utmz%3D".rawurlencode($this->__utmz)."%3B\" width=\"1\" height=\"1\" />\n";
}
//哈希算法
function Hash($d) {
if(!$d || $d=="") return 1;
$h=0; $g=0;
for($i=strlen($d)-1;$i>=0;$i--) {
$c = (int)(ord($d[$i]));
$h = (($h << 6) & 0xfffffff) + $c + ($c << 14);
$g = ($h & 0xfe00000);
if($g!=0) $h = ($h ^ ($g >> 21));
}
return $h;
}
function GetTrafficSource() {
if(isset($_GET["utm_source"]) && isset($_GET["utm_medium"])) {
// 链接中设置了来源
$utmccn = isset($_GET["utm_campaign"]) ? $_GET["utm_campaign"] : "(not set)";
$utmcct = isset($_GET["utm_content"]) ? $_GET["utm_content"] : "(not set)";
return array("utmgclid"=>"", "utmcsr"=>$_GET["utm_source"], "utmccn"=>$utmccn, "utmcmd"=>$_GET["utm_medium"], "utmctr"=>$_GET["utm_term"], "utmcct"=>$utmcct);
}
else if($this->ga_referer!="") {
// 从引荐网站过来的流量
$search_engine = $this->GetSearchEngine();
// 判断是否是搜索引擎
if($search_engine) return $search_engine;
else if(!isset($_COOKIE["__utmc"])) {
// 如果是新用户或不是搜索引擎,设置referer
$ref = $this->GetReferer();
if(substr($ref["host"],0,4)=="www.") $ref["host"] = substr($ref["host"],4); // Remove www from URL
return array("utmgclid"=>"", "utmcsr"=>$ref["host"], "utmccn"=>"(referral)", "utmcmd"=>"referral", "utmctr"=>"", "utmcct"=>$ref["uri"]);
}
}
return array("utmgclid"=>"", "utmcsr"=>"(direct)", "utmccn"=>"(direct)", "utmcmd"=>"(none)", "utmctr"=>"", "utmcct"=>"");
}
function GetSearchEngine() {
$ref = $this->GetReferer();
for($ii=0;$ii<count($this->ga_search);$ii++) {
if(strpos(strtolower($ref["host"]), strtolower($this->ga_search[$ii][0]))>-1) {
$test1 = strpos($ref["referer"], "?".$this->ga_search[$ii][1]."=");
$test2 = strpos($ref["referer"], "&".$this->ga_search[$ii][1]."=");
$i = ($test1 > -1) ? $test1 : $test2;
if($i>-1) {
$k = substr($ref["referer"], $i+strlen($this->ga_search[$ii][1])+2, strlen($ref["referer"]));
$i = strpos($k,"&");
if($i > -1) $k = substr($k,0,$i);
if(isset($_GET["gclid"])) return array("utmgclid"=>$_GET["gclid"], "utmcsr"=>"", "utmccn"=>"(not set)", "utmcmd"=>"(not set)", "utmctr"=>$k, "utmcct"=>"");
else return array("utmgclid"=>"", "utmcsr"=>$this->ga_search[$ii][0], "utmccn"=>"(organic)", "utmcmd"=>"organic", "utmctr"=>$k, "utmcct"=>"");
}
}
}
return false;
}
function GetReferer() {
$referer_tmp = $this->ga_referer;
$pos = strpos($referer_tmp, "://");
if($pos>0) $referer_tmp = $referer_tmp = substr($referer_tmp,$pos+3);
$pos = strpos($referer_tmp, "/");
if($pos>0) return array("host"=>substr($referer_tmp, 0, $pos), "uri"=>substr($referer_tmp, $pos), "referer"=>$this->ga_referer);
else return array("host"=>$referer_tmp, "uri"=>"", "referer"=>$this->ga_referer);
}
function SetTransaction($order_id, $amount, $shipping, $tax, $city, $region, $country) {
// 交易记录
$this->html .= "<img src=\"".$this->ga_img."?utmwv=".$this->ga_utmwv."&utmn=".rand(1000000000,9999999999)."&utmhn=".$this->ga_utmhn."&utmt=tran&utmtid=".$order_id."&utmtto=".$amount."&utmttx=".$tax."&utmtsp=".$shipping."&utmtci=".rawurlencode($city)."&utmtrg=".rawurlencode($region)."&utmtco=".rawurlencode($country)."&utmac=".$this->ga_utmac."&utmcc=__utma%3D".$this->__utma."%3B%2B__utmz%3D".rawurlencode($this->__utmz)."%3B\" width=\"1\" height=\"1\" />\n";
}
function SetTransactionItem($order_id, $item_id, $category, $name, $price, $quantity) {
// 交易商品记录
$this->html .= "<img src=\"".$this->ga_img."?utmwv=".$this->ga_utmwv."&utmn=".rand(1000000000,9999999999)."&utmhn=".$this->ga_utmhn."&utmt=item&utmtid=".$order_id."&utmipc=".$item_id."&utmipn=".rawurlencode($name)."&utmiva=".rawurlencode($category)."&utmipr=".$price."&utmiqt=".$quantity."&utmac=".$this->ga_utmac."&utmcc=__utma%3D".$this->__utma."%3B%2B__utmz%3D".rawurlencode($this->__utmz)."%3B\" width=\"1\" height=\"1\" />\n";
}
function GetTrackingCode() {
// 执行跟踪程序
return $this->html;
}
}
- 浏览: 1602971 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1585)
- Http Web (18)
- Java (194)
- 操作系统 (2)
- 算法 (30)
- 计算机 (45)
- 程序 (2)
- 性能 (50)
- php (45)
- 测试 (12)
- 服务器 (14)
- Linux (42)
- 数据库 (14)
- 管理 (9)
- 网络 (3)
- 架构 (83)
- 安全 (2)
- 数据挖掘 (16)
- 分析 (9)
- 数据结构 (2)
- 互联网 (6)
- 网络安全 (1)
- 框架 (9)
- 视频 (2)
- 计算机,SEO (3)
- 搜索引擎 (31)
- SEO (18)
- UML (1)
- 工具使用 (2)
- Maven (41)
- 其他 (7)
- 面向对象 (5)
- 反射 (1)
- 设计模式 (6)
- 内存数据库 (2)
- NoSql (9)
- 缓存 (7)
- shell (9)
- IQ (1)
- 源码 (1)
- Js (23)
- HttpClient (2)
- excel (1)
- Spring (7)
- 调试 (4)
- mysql (18)
- Ajax (3)
- JQuery (9)
- Comet (1)
- 英文 (1)
- C# (1)
- HTML5 (3)
- Socket (2)
- 养生 (1)
- 原理 (2)
- 倒排索引 (4)
- 海量数据处理 (1)
- C (2)
- Git (59)
- SQL (3)
- LAMP (1)
- 优化 (2)
- Mongodb (20)
- JMS (1)
- Json (15)
- 定位 (2)
- Google地图 (1)
- memcached (10)
- 压测 (4)
- php.性能优化 (1)
- 励志 (1)
- Python (7)
- 排序 (3)
- 数学 (3)
- 投票算法 (2)
- 学习 (1)
- 跨站攻击 (1)
- 前端 (8)
- SuperFish (1)
- CSS (2)
- 评论挖掘分析 (1)
- Google (13)
- 关键词分析 (1)
- 地图 (1)
- Gzip (1)
- 压缩 (1)
- 爬虫 (13)
- 流量统计 (1)
- 采集 (1)
- 日志分析 (2)
- 浏览器兼容 (1)
- 图片搜索引擎技术 (2)
- 空间 (1)
- 用户体验 (7)
- 免费空间 (1)
- 社交 (2)
- 图片处理 (2)
- 前端工具 (1)
- 商业 (3)
- 淘宝 (3)
- 站内搜索 (1)
- 网站收藏 (1)
- 理论 (1)
- 数据仓库 (2)
- 抓包 (1)
- Hadoop (105)
- 大数据 (6)
- Lucene (34)
- Solr (31)
- Drupal (1)
- 集群 (2)
- Lu (2)
- Mac (4)
- 索引 (9)
- Session共享 (1)
- sorl (10)
- JVM (9)
- 编码 (1)
- taobao (14)
- TCP/IP (4)
- 你可能會感興趣 (3)
- 幽默笑话 (7)
- 服务器整合 (1)
- Nginx (9)
- SorlCloud (4)
- 分佈式搜索 (1)
- ElasticSearch (30)
- 網絡安全 (1)
- MapReduce (8)
- 相似度 (1)
- 數學 (1)
- Session (3)
- 依賴注入 (11)
- Nutch (8)
- 云计算 (6)
- 虚拟化 (3)
- 财务自由 (1)
- 开源 (23)
- Guice (1)
- 推荐系统 (2)
- 人工智能 (1)
- 环境 (2)
- Ucenter (1)
- Memcached-session-manager (1)
- Storm (54)
- wine (1)
- Ubuntu (23)
- Hbase (44)
- Google App Engine (1)
- 短信 (2)
- 矩阵 (1)
- MetaQ (34)
- GitHub &Git &私/公有库 (8)
- Zookeeper (28)
- Exception (24)
- 商务 (1)
- drcp (1)
- 加密&解密 (1)
- 代码自动生成 (1)
- rapid-framework (1)
- 二次开发 (1)
- Facebook (3)
- EhCache (1)
- OceanBase (1)
- Netlog (1)
- 大数据量 (2)
- 分布式 (3)
- 事物 (2)
- 事务 (2)
- JPA (2)
- 通讯 (1)
- math (1)
- Setting.xml (3)
- 络驱动器 (1)
- 挂载 (1)
- 代理 (0)
- 日本語の (1)
- 花生壳 (7)
- Windows (1)
- AWS (2)
- RPC (11)
- jar (2)
- 金融 (1)
- MongDB (2)
- Cygwin (1)
- Distribute (1)
- Cache (1)
- Gora (1)
- Spark (31)
- 内存计算 (1)
- Pig (2)
- Hive (21)
- Mahout (17)
- 机器学习 (34)
- Sqoop (1)
- ssh (1)
- Jstack (2)
- Business (1)
- MapReduce.Hadoop (1)
- monitor (1)
- Vi (1)
- 高并发 (6)
- 海量数据 (2)
- Yslow (4)
- Slf4j (1)
- Log4j (1)
- Unix (3)
- twitter (2)
- yotube (0)
- Map-Reduce (2)
- Streaming (1)
- VMware (1)
- 物联网 (1)
- YUI (1)
- LazyLoad (1)
- RocketMQ (17)
- WiKi (1)
- MQ (1)
- RabbitMQ (2)
- kafka (3)
- SSO (8)
- 单点登录 (2)
- Hash (4)
- Redis (20)
- Memcache (2)
- Jmeter (1)
- Tsung (1)
- ZeroMQ (1)
- 通信 (7)
- 开源日志分析 (1)
- HDFS (1)
- zero-copy (1)
- Zero Copy (1)
- Weka (1)
- I/O (1)
- NIO (13)
- 锁 (3)
- 创业 (11)
- 线程池 (1)
- 投资 (3)
- 池化技术 (4)
- 集合 (1)
- Mina (1)
- JSMVC (1)
- Powerdesigner (1)
- thrift (6)
- 性能,架构 (0)
- Web (3)
- Enum (1)
- Spring MVC (15)
- 拦截器 (1)
- Web前端 (1)
- 多线程 (1)
- Jetty (1)
- emacs (1)
- Cookie (2)
- 工具 (1)
- 分布式消息队列 (1)
- 项目管理 (2)
- github (21)
- 网盘 (1)
- 仓库 (3)
- Dropbox (2)
- Tsar (1)
- 监控 (3)
- Argo (2)
- Atmosphere (1)
- WebSocket (5)
- Node.js (6)
- Kraken (1)
- Cassandra (3)
- Voldemort (1)
- VoltDB (2)
- Netflix (2)
- Hystrix (1)
- 心理 (1)
- 用户分析 (1)
- 用户行为分析 (1)
- JFinal (1)
- J2EE (1)
- Lua (2)
- Velocity (1)
- Tomcat (3)
- 负载均衡 (1)
- Rest (2)
- SerfJ (1)
- Rest.li (1)
- KrakenJS (1)
- Web框架 (1)
- Jsp (2)
- 布局 (2)
- NowJs (1)
- WebSoket (1)
- MRUnit (1)
- CouchDB (1)
- Hiibari (1)
- Tiger (1)
- Ebot (1)
- 分布式爬虫 (1)
- Sphinx (1)
- Luke (1)
- Solandra (1)
- 搜素引擎 (1)
- mysqlcft (1)
- IndexTank (1)
- Erlang (1)
- BeansDB (3)
- Bitcask (2)
- Riak (2)
- Bitbucket (4)
- Bitbuket (1)
- Tokyo Cabinet (2)
- TokyoCabinet (2)
- Tokyokyrant (1)
- Tokyo Tyrant (1)
- Memcached协议 (1)
- Jcrop (1)
- Thead (1)
- 详设 (1)
- 问答 (2)
- ROM (1)
- 计算 (1)
- epoll (2)
- libevent (1)
- BTrace (3)
- cpu (2)
- mem (1)
- Java模板引擎 (1)
- 有趣 (1)
- Htools (1)
- linu (1)
- node (3)
- 虚拟主机 (1)
- 闭包 (1)
- 线程 (1)
- 阻塞 (1)
- LMAX (2)
- Jdon (1)
- 乐观锁 (1)
- Disruptor (9)
- 并发 (6)
- 为共享 (1)
- volatile (1)
- 伪共享 (1)
- Ringbuffer (5)
- i18n (2)
- rsync (1)
- 部署 (1)
- 压力测试 (1)
- ORM (2)
- N+1 (1)
- Http (1)
- web开发脚手架 (1)
- Mybatis (1)
- 国际化 (2)
- Spring data (1)
- R (4)
- 网络爬虫 (1)
- 条形码 (1)
- 等比例缩放 (1)
- java,面向接口 (1)
- 编程规范 (1)
- CAP (1)
- 论文 (1)
- 大数据处理 (1)
- Controller (3)
- CDN (2)
- 程序员 (1)
- Spring Boot (3)
- sar (1)
- 博弈论 (1)
- 经济 (1)
- Scrapy (1)
- Twistedm (1)
- cron (1)
- quartz (1)
- Debug (1)
- AVO (1)
- 跨语言 (1)
- 中间服务 (2)
- Dubbo (4)
- Yarn (1)
- Spring OSGI (1)
- bundle (1)
- OSGI (1)
- Spring-Boot (1)
- CA证书 (1)
- SSL (1)
- CAS (7)
- FusionCharts (5)
- 存储过程 (3)
- 日志 (2)
- OOP (2)
- CentOS (5)
- JSONP (2)
- 跨域 (5)
- P3P (1)
- Java Cas (1)
- CentOS 6.5 Released – Installation Guide with Screenshots (1)
- Android (1)
- 队列 (2)
- Multitail (1)
- Maout (1)
- nohup (1)
- AOP (1)
- 长连接 (3)
- 轮循 (2)
- 聊天室 (1)
- Zeus (1)
- LSM-Tree (1)
- Slope One (1)
- 协同过滤 (1)
- 服务中间件 (1)
- KeyMeans (1)
- Bitmap (1)
- 实时统计 (1)
- B-Tree+ (1)
- PageRank (1)
- 性能分析 (1)
- 性能测试 (1)
- CDH (10)
- 迭代计算 (1)
- Jubatus (1)
- Hadoop家族 (8)
- Cloudera (2)
- RHadoop (1)
- 广告定价 (1)
- 广告系统 (9)
- 广告系统,架构 (1)
- Tag推荐算法 (1)
- 相似度算法 (1)
- 页面重构 (2)
- 高性能 (6)
- Maven3 (3)
- Gradle (11)
- Apache (1)
- Java并发 (1)
- Java多进程 (1)
- Rails (1)
- Ruby (3)
- 系统架构 (1)
- 运维 (36)
- 网页设计 (1)
- TFS (0)
- 推荐引擎 (0)
- Tag提取算法 (1)
- 概率统计 (1)
- 自然语言处理 (2)
- 分词 (1)
- Ruby.Python (1)
- 语义相似度 (0)
- Chukwa (0)
- 日志收集系统 (0)
- Data Mining (4)
- 开放Api (1)
- Scala (28)
- Ganglia (2)
- mmap (1)
- 贝叶斯分类 (1)
- 运营 (1)
- Mdrill (1)
- Lambda (2)
- Netty (5)
- Java8 (1)
- Solr4 (1)
- Akka (12)
- 计算广告 (2)
- 聊天系统 (1)
- 服务发现 (1)
- 统计指标 (1)
- NLP (1)
- 深度学习 (0)
最新评论
-
wahahachuang5:
web实时推送技术使用越来越广泛,但是自己开发又太麻烦了,我觉 ...
使用 HTML5 WebSocket 构建实时 Web 应用 -
秦时明月黑:
Jetty 服务器架构分析 -
chenghaitao111111:
楼主什么时候把gecko源码分析一下呢,期待
MetaQ技术内幕——源码分析(转) -
qqggcc:
为什么还要写代码啊,如果能做到不写代码就把功能实现就好了
快速构建--Spring-Boot (quote) -
yongdi2:
好厉害!求打包代码
Hadoop日志文件分析系统
发表评论
-
海量数据相似度计算之simhash和海明距离
2014-05-24 09:31 417通过 采集系统 我们采集了大量文本数据,但是文本中有很多重 ... -
实战低成本服务器搭建千万级数据采集系统
2014-05-26 00:36 629上一篇文章《社会化海量数据采集框架搭建》提到如何搭建一个社 ... -
基于HttpClient4.0的网络爬虫基本框架(Java实现)
2014-05-26 00:36 1386实现语言:Java 模拟HT ... -
社会化海量数据采集爬虫框架搭建
2014-05-26 00:37 857随着BIG DATA大数据概念逐渐升温,如何搭建一个能够采 ... -
搜索引擎技术之概要预览(转)
2014-05-01 13:07 234前言 近些天在学 ... -
搜索引擎技术内幕之索引
2014-05-03 12:52 665搜索引擎中索引的好坏直接影响着搜索引擎的性能,最终影响到用 ... -
ubuntu13.10安装apache+svn+mysql+jdk+tomcat+php开发环境
2014-05-09 20:25 1004系统:Ubuntu 13.10 需要安装软件版本: ap ... -
分布式搜索方案选型(转)
2014-03-27 14:25 939分布式搜索方案选型 ... -
ubuntu12.04 卸载和安装mysql
2014-02-16 11:20 868卸载mysql 第一步 -
Ubuntu 12.04 搭建php开发环境
2014-02-16 11:21 892安装MySQL sudo apt-get inst ... -
Ubuntu 10.04 安装Twisted、Scrapy爬虫框架
2014-01-25 22:54 2063Ubuntu 10.04 安装Twisted、Scrapy爬 ... -
Java的索引-搜索引擎 IndexTank
2014-01-24 08:11 745IndexTank, 一套基于Java的索引-实时全文搜索 ... -
Lucene索引查看工具 Luke
2013-12-09 10:08 1072Luke 是查询LUCENE索引文件的工具, 而且用 Lu ... -
全文检索引擎 Sphinx
2013-12-05 09:36 1115Sphinx是一个基于SQL的全文检索引擎,可以结合MyS ... -
搜索引擎 Nutch
2013-12-31 14:52 1061Nutch 是一个开源Jav ... -
开源爬虫Labin,Nutch,Neritrix介绍和对比
2013-11-27 12:23 1351Larbin开发语言:C++http: ... -
Nutch相关框架安装使用最佳指南(转)
2013-12-02 09:34 1371Chinese installing and using ... -
使用Java调用百度搜索(转)
2014-03-17 17:27 1052search-demo托管于github ... -
使用Java调用谷歌搜索(转)
2014-03-19 08:53 1380search-demo托管于github ... -
分布式搜索算法,算法
2014-03-25 09:48 769对于搜索引擎来说,索引存放在成千上万台机器上,如何进行分布 ...
相关推荐
Java调用Google Analytics API实现网站统计是Web开发者用于获取网站流量和用户行为数据的重要方法。Google Analytics是一款由谷歌提供的强大的数据分析服务,它可以帮助网站所有者深入了解用户行为、转化率、来源...
在IT行业中,Google Analytics是一个强大的数据统计工具,用于跟踪和报告网站流量。它帮助企业了解用户如何与他们的在线平台互动,从而优化网站性能和营销策略。本文将深入探讨如何使用Java来调用Google Analytics ...
分析流量是了解访客最佳的方式,而 GoogleAnalytics数据分析可称得上是最好的免费网站分析工具,它能够分析WordPress任何一页的博客日志,所以,就有高手制作了WordPress的谷歌分析插件,使用这款插件,免去了添加...
在本文中,我们将深入探讨如何使用Laravel框架与Google Analytics集成,通过`laravel-analytics`这个工具来获取和分析Google Analytics中的统计数据。首先,我们来理解Laravel和Google Analytics的基本概念,然后...
Google Analytics是一款强大的网站和移动应用数据统计分析工具,它可以帮助开发者和网站所有者了解用户行为、流量来源以及转化率等关键指标。通过Java来连接Google Analytics,我们可以实现自动化报告获取、数据导入...
Google Analytics 使用教程 ...通过 Google Analytics,可以对网站的流量、访问者行为、营销活动的效果等进行详细的分析,从而帮助网站管理员和营销人员更好地了解并影响访问者的行为,提高营销活动的投资回报率。
这篇博文将指导你如何在PHP移动网站上添加Google Analytics统计代码。 首先,你需要一个Google Analytics账号。如果你还没有,访问https://analytics.google.com/analytics/web/ 注册并创建一个新的属性,为你的...
【谷歌统计Google Analytics微信小程序版】是一个专门为微信小程序设计的解决方案,它允许开发者集成全球广泛使用的Google Analytics服务,以便对微信小程序的用户行为、流量来源、转化率等关键指标进行跟踪和分析。...
标题"参考资料-流量的秘密 Google Analytics网站分析与优化.zip"指出,这是一个关于使用Google Analytics进行网站分析和优化的参考资料集合,重点在于揭示网站流量背后的秘密。Google Analytics是一款强大的网络分析...
例如,要在控制器中获取访问数据,你可以注入 `\Spatie\GoogleAnalytics\GoogleAnalytics` 类,并调用其方法: ```php use Spatie\GoogleAnalytics\GoogleAnalytics; class DashboardController extends ...
Google Analytics是一款由Google提供的免费网站统计服务,它可以跟踪和报告网站流量以及用户在网站上的行为。通过在网页中嵌入特定的JavaScript代码(即“跟踪代码”),Google Analytics能够收集有关网站访问者的...
除了自行编写代码实现流量统计,网站管理员还可以选择使用各种流量统计工具和服务,例如Google Analytics、百度统计、CNZZ等。这些工具提供了更为全面和精细的数据分析能力,不仅能够追踪基本的流量指标,还能提供...
Google Analytics 是一款强大的数据分析工具,由谷歌提供,用于追踪和分析网站以及移动应用的流量数据。在 Android 应用程序中集成 Google Analytics,开发者可以深入了解用户行为,优化应用性能,提高用户体验。 *...
Google Analytics 提供了关于网站流量和用户行为的详细报告,包括但不限于访问数、新旧访问者比例、页面浏览量、平均停留时间、跳出率等关键指标。这些数据可以帮助管理者评估不同营销活动的效果,识别流量来源,...
为博客进行流量数据统计,相信这是很多朋友都做的事情,通过统计我们可以知道,我们网站的访问量、流量来源,进而优化我们的网站,如果使用统计工具的话,对于站长来说google-analytics你应该不会陌生吧!...
还可以集成第三方统计服务(如Google Analytics),以获取更丰富的用户行为数据。 通过以上步骤,我们可以构建一个基本的JSP流量统计系统,它可以实时收集和分析网站的访问数据,为网站运营提供有力支持。然而,...
通过上述介绍可知,《流量的秘密:Google Analytics网站分析与优化技巧》这本书主要讲述了如何运用Google Analytics这一强大工具来进行有效网站分析,并结合具体案例分享了一些实用技巧。希望读者能够在阅读之后,...
谷歌分析操作白皮书 Google Analytics 教程 Google Analytics(以下简称 GA)是...Google Analytics 是一个功能强大且人性化的数据统计服务,能够对目标网站进行访问数据统计和分析,并提供多种参数供网站拥有者使用。
常见的数据采集工具有Google Analytics、百度统计、CNZZ等。此外,还可以通过埋点技术,即在网页代码中植入特定的JavaScript代码,实时记录用户的交互行为。 2. Compute(计算):收集到的数据需要经过处理和计算,...