资讯专栏INFORMATION COLUMN

网站访问人员来源分析

tomorrowwu / 313人阅读

摘要:代码示例去掉以分开成数组取第一个以前的字符来自谷歌来自百度来自雅虎来自搜狗来自搜搜来自必应来自有道谷歌百度雅虎搜狗搜索必应有道

1.代码示例

  $val["fromurl"] = $_SERVER["HTTP_REFERER"];

 if(!empty($val["fromurl"]))
            {
                $str   = str_replace("https://","",$val["fromurl"]);  //去掉http://
                $strdomain = explode("/",$str);               // 以“/”分开成数组
                $domain    = $strdomain[0];              //取第一个“/”以前的字符
                $search_1="google.com"; //q= utf8
                $search_2="baidu.com"; //wd= gbk
                $search_3="yahoo.cn"; //q= utf8
                $search_4="sogou.com"; //query= gbk
                $search_5="so.com"; //w= gbk
                $search_6="bing.com"; //q= utf8
                $search_7="youdao.com"; //q= utf8

                $google=preg_match("/{$search_1}/",$domain);//来自谷歌
                $baidu=preg_match("/{$search_2}/",$domain);//来自百度
                $yahoo=preg_match("/{$search_3}/",$domain);//来自雅虎
                $sogou=preg_match("/{$search_4}/",$domain);//来自搜狗
                $soso=preg_match("/{$search_5}/",$domain);//来自搜搜
                $bing=preg_match("/{$search_6}/",$domain);//来自必应
                $youdao=preg_match("/{$search_7}/",$domain);//来自有道

                if($google)
                {
                    $this->_d["list"][$key]["fromName"]= "谷歌";
                }
                if($baidu)
                {
                    $this->_d["list"][$key]["fromName"]= "百度";
                    if(strpos($val["fromurl"], "?") !== false) {
                        $result =  explode("wd=",$val["fromurl"]);
                        $result =  explode("&",$result[1]);
                        $this->_d["list"][$key]["keyword"] = $result[0];
                    }
                    else
                    {
                        $this->_d["list"][$key]["keyword"] = "";
                    }
                }
                if($yahoo)
                {
                    $this->_d["list"][$key]["fromName"]= "雅虎";
                }
                if($sogou)
                {
                    $this->_d["list"][$key]["fromName"]= "搜狗";
                    if(strpos($val["fromurl"], "?") !== false) {
                        $result =  explode("?",$val["fromurl"]);
                        $result =  explode("&",$result[1]);
                        $result =  explode("=",$result[0]);
                        $this->_d["list"][$key]["keyword"] = $result[1];
                    }
                    else
                    {
                        $this->_d["list"][$key]["keyword"] = "";
                    }
                }
                if($soso)
                {
                    $this->_d["list"][$key]["fromName"]= "360搜索";
                    if(strpos($val["fromurl"], "?") !== false) {
                        $result =  explode("?",$val["fromurl"]);
                        $result =  explode("&q=",$result[1]);
                        $this->_d["list"][$key]["keyword"] = $result[1];
                    }
                    else
                    {
                        $this->_d["list"][$key]["keyword"] = "";
                    }
                }
                if($bing)
                {
                    $this->_d["list"][$key]["fromName"]= "必应";
                }
                if($youdao)
                {
                    $this->_d["list"][$key]["fromName"]= "有道";
                }
           }

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22156.html

相关文章

  • 新闻爬虫倒腾笔记

    摘要:新闻爬虫在列表页获取列表和时间材料,开发人员工具,插件,,安装包使用开发人员工具分析网站右键或打开,刷新载入打开页签,点选第二排的小漏斗,点入页面,因为新闻都有被检索到的需要,所以一般情况下都可以在第一个文档中找到需要的信息。 新闻爬虫1.0 在列表页获取列表和时间 材料:Pycharm,Chrome开发人员工具,infoLite插件,bs4,request 安装包 pip insta...

    April 评论0 收藏0
  • 一篇文章带你深入理解什么是负载测试

    摘要:无论你已经进行过多少轮测试,一旦你的应用程序已接近完成,那么只有一个办法知道你的软件是否可以满足真实用户群的实际需求,它就是负载测试。你可以使用负载测试工具来完成这项工作。 介绍任何软件开发项目接近完成的时候,它可能已经通过无数次测试了,特别是在测试和开发同时发生的敏捷测试环境下。无论你已经进行过多少轮测试,一旦你的应用程序已接近完成,那么只有一个办法知道你的软件是否可以满足真实用户群...

    fobnn 评论0 收藏0
  • Nginx 日志自定义记录及启用日志缓冲区

    摘要:给出的日志等级顺序就是记录最小到最严谨的日志等级顺序。错误日志格式不支持自定义日志格式但他同样记录当前时间日志等级和具体信息等数据。日志缓冲区当系统处于负载状态时,启用日志缓冲区以降低进程阻塞。 原文链接: 何晓东 博客 如果想统计网站的访问来源信息,可以用 php 获取信息,记录到数据库的形式,也可以直接使用 nginx 提供的访问日志,来记录网站的访问详情,管理员可以通过分析 ng...

    mochixuan 评论0 收藏0
  • Nginx 日志自定义记录及启用日志缓冲区

    摘要:给出的日志等级顺序就是记录最小到最严谨的日志等级顺序。错误日志格式不支持自定义日志格式但他同样记录当前时间日志等级和具体信息等数据。日志缓冲区当系统处于负载状态时,启用日志缓冲区以降低进程阻塞。 原文链接: 何晓东 博客 如果想统计网站的访问来源信息,可以用 php 获取信息,记录到数据库的形式,也可以直接使用 nginx 提供的访问日志,来记录网站的访问详情,管理员可以通过分析 ng...

    jzzlee 评论0 收藏0

发表评论

0条评论

tomorrowwu

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<