首页 > 编程 > PHP > 正文

php使用curl获取Compete统计网站信息的方法

2020-03-22 17:14:10
字体:
来源:转载
供稿:网友
这篇文章主要介绍了php获得网站访问统计信息类Compete API用法,实例分析了php使用curl获取Compete统计网站信息的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了php获得网站访问统计信息类Compete API用法。具体如下:

这里使用php获得网站访问统计信息类Compete API,Compete是一个专门用来统计网站信息的网站

 ?php// Check for dependenciesif (!function_exists( curl_init )) throw new Exception( Compete needs the CURL PHP extension. if (!function_exists( json_decode )) throw new Exception( Compete needs the JSON PHP extension.  * Base Compete exception html' target='_blank'>class.class CompeteException extends Exception {} * Represents Compete API. * @author Egor Gumenyuk (boo1ean0807 at gmail dot com) * @package Compete * @license Apache 2.0class Compete * Default usr agent. const USER_AGENT = Compete API wrapper for PHP  * Base url for api calls. const API_BASE_URL = http://apps.compete.com/sites/:domain/trended/:metric/?apikey=:key  * Masks for url params. private $_urlKeys = array( :domain , :metric , :key  private $_apiKey; * For url cleaning. private $_toSearch = array( http:// , www.  private $_toReplace = array( ,  * List of available metrics. private $_availableMetrics = array( // Description Auth type uv , // Unique Visitors Basic vis , // Visits Basic rank , // Rank Basic pv , // Page Views All-Access avgstay ,// Average Stay All-Access vpp , // Visits/Person All-Access ppv , // Pages/Visit All-Access att , // Attention All-Access reachd , // Daily Reach All-Access attd , // Daily Attention All-Access gen , // Gender All-Access age , // Age All-Access inc , // Income All-Access * List of available methods for __call() implementation. private $_metrics = array( uniqueVisitors = uv , visits = vis , rank = rank , pageViews = pv , averageStay = avgstay , visitsPerson = vpp , pagesVisit = ppv , attention = att , dailyReach = reachd , dailyAttention = attd , gender = gen , age = age , income = inc  * Create access to Compete API. * @param string $apiKey user s api key. public function __construct($apiKey) { $this- _apiKey = $apiKey; * Implement specific methods. public function __call($name, $args) { if (array_key_exists($name, $this- _metrics) isset($args[0])) return $this- get($args[0], $this- _metrics[$name]); throw new CompeteException($name . method does not exist.  * Get data from Compete. * @param string $site some domain. * @param string $metric metric to get. * @return stdClass Compete data. * @throws CompeteException public function get($site, $metric) { if (!in_array($metric, $this- _availableMetrics)) throw new CompeteException($metric . - wrong metric.  $values = array( $this- _prepareUrl($site), $metric, $this- _apiKey // Prepare call url $url = str_replace($this- _urlKeys, $values, self::API_BASE_URL); // Retrieve data using HTTP GET method. $data = json_decode($this- _get($url)); // Because of unsuccessful responses contain status_message . if (!isset($data- status_message)) return $data; throw new CompeteException( Status: . $data- status . . .$data- status_message); * Cut unnecessary parts of url. * @param string $url some url. * @return string trimmed url. private function _prepareUrl($url) { return str_replace($this- _toSearch, $this- _toReplace, $url); * Execute http get method. * @param string $url request url. * @return string response. private function _get($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_USERAGENT, self::USER_AGENT); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); return curl_exec($ch);}

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

相关推荐:

PHP基于curl发送post、get请求及操作cookie

php通过新浪乐库搜索接口查询歌曲的功能

php动态创建文件夹及文件上传的方法

以上就是php使用curl获取Compete统计网站信息的方法的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表