php站点统计,php进行网站访问信息统计

本文详细介绍了如何通过PHP利用Compete API获取网站访问统计信息,包括独特访客、页面浏览等关键指标,并提供了实例和必备依赖库的安装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

php如何进行网站访问信息统计?本文主要介绍了php获得网站访问信息统计类Compete API用法,实例分析了php使用curl获取Compete统计网站信息的技巧。希望对大家有所帮助。

本文实例讲述了php获得网站访问统计信息类Compete API用法。分享给大家供大家参考。具体如下:

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

// Check for dependencies

if (!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 class.

*/

class CompeteException extends Exception {}

/**

* Represents Compete API.

* @author Egor Gumenyuk (boo1ean0807 at gmail dot com)

* @package Compete

* @license Apache 2.0

*/

class 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);

}

}

相关推荐:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值