php使用curl取得Compete統計網站資訊的方法
這篇文章主要介紹了php取得網站存取統計資訊類別Compete API用法,實例分析了php使用curl獲取Compete統計網站資訊的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了php取得網站存取統計資訊類別Compete API用法。具體如下:
這裡使用php取得網站存取統計資訊類別Compete API,Compete是一個專門用來統計網站資訊的網站
<?php // 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); } }
總結:以上就是本篇文的全部內容,希望對大家的學習有所幫助。
相關推薦:
PHP基於curl發送post、get請求及操作cookie
以上是php使用curl取得Compete統計網站資訊的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。
