askancy/metacritic-api-php
最新稳定版本:1.0
Composer 安装命令:
composer require askancy/metacritic-api-php
包简介
PHP API scraper for Metacritic game scores, returns JSON data.
README 文档
README
Level up your apps with real-time Metacritic scores using this lightweight PHP package.
No API keys, no rate limits — just smart scraping and structured JSON output. 🧠⚡
📦 Install & Deploy
Install it via Composer and get your first score in less than 60 seconds:
composer require askancy/metacritic-api-php
🕹️ How to Play (Usage)
require 'vendor/autoload.php'; use Askancy\Metacritic\MetacriticScraper; use Askancy\Metacritic\Exceptions\MetacriticException; $scraper = new MetacriticScraper(); try { $result = $scraper->fetch('elden-ring'); // Use the Metacritic slug echo json_encode($result, JSON_PRETTY_PRINT); } catch (MetacriticException $e) { echo "💥 Error: " . $e->getMessage(); }
🧠 Pro Tip: You can pass any valid slug like 'god-of-war-ragnarok', 'cyberpunk-2077', 'final-fantasy-vii-remake', etc.
🧾 Sample JSON Response
{
"slug": "elden-ring",
"url": "https://www.metacritic.com/game/elden-ring",
"score": "96"
}
slug: Slug used to build the URLurl: Full Metacritic link to the game pagescore: Metacritic metascore (0-100)
🧪 Unit Testing (PHPUnit)
Run the full test suite to validate your setup:
composer install vendor/bin/phpunit tests/
✅ Includes:
- Score presence and format check
- Proper exception handling on 404 pages
- JSON serialization test
🛠️ Directory Structure
metacritic-api-php/
├── src/
│ ├── MetacriticScraper.php # Main class
│ └── Exceptions/
│ └── MetacriticException.php # Custom error
├── tests/
│ └── MetacriticScraperTest.php # PHPUnit test
├── composer.json
├── README.md
🧙♂️ Advanced Features
- ✅ No API key required
- ⚠️ Graceful error handling (timeouts, 404s)
- 🧩 Easily extendable to retrieve more metadata (e.g., platforms, release date)
- 🕵️♀️ Smart fallback: if JSON-LD fails, uses HTML metascore node
🧠 Game Dev Friendly
This package is perfect for:
- Game databases 🗃️
- Gaming communities 🧑🤝🧑
- Game recommendation engines 🤖
- Gamified profiles or dashboards 📊
📜 License
This package is licensed under the MIT License, with one twist:
❌ Redistribution and reselling is NOT allowed. 🔁 Contributions and improvements are always welcome.
🔗 Credits & Contact
Made with ❤️ by Askancy For support, bugs or PRs: GitHub Issues
💬 "Always check the score, before you hit Play." 🎮
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-06-04