定制 hooshid/metacritic-scraper 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

hooshid/metacritic-scraper

最新稳定版本:3.0.0

Composer 安装命令:

composer require hooshid/metacritic-scraper

包简介

Library for retrieving movie, game, album, tv, person, video, company, story information from metacritic.com

README 文档

README

Build Status Total Downloads Latest Stable Version License

Using this Metacritic API, you are able to search, browse and extract data of movies and tv series on metacritic.com.

Install

This library scrapes metacritic.com so changes their site can cause parts of this library to fail. You will probably need to update a few times a year.

Requirements

  • PHP >= 8.0
  • PHP cURL extension

Install via composer

$ composer require hooshid/metacritic-scraper

Run examples

The example gives you a quick demo to make sure everything's working, some sample code and lets you easily see some available data.

From the example folder in the root of this repository start up php's inbuilt webserver and browse to http://localhost:8000

php -S localhost:8000

Examples

Get movie data

Movie: The Matrix (1999) / URL: https://www.metacritic.com/movie/the-matrix

$metacritic = new Hooshid\MetacriticScraper\Metacritic();
$extract = $metacritic->extract("/movie/the-matrix");
$result = $extract['result'];
$error = $extract['error'];

// get all available data as json
echo json_encode($extract);

in above example we first create a new obj from Metacritic() class, then we call extract method and give the metacritic.com url in first param.

if everything ok, result key filled and if not, the error key filled with error occurred

Tv Series: Game of Thrones (2011-2019) / URL: https://www.metacritic.com/tv/game-of-thrones

$metacritic = new Hooshid\MetacriticScraper\Metacritic();
$extract = $metacritic->extract("/tv/game-of-thrones");
$result = $extract['result'];
$error = $extract['error'];

if ($error) {
    echo $error;
} else {
    echo $result['type']; // type (movie, tv, game, person and ...)
    echo $result['title']; // movie/series title
    echo $result['thumbnail']; // Poster thumbnail
    echo $result['summary']; // Summary
    echo $result['release_year']; // Release year
    echo $result['must_see']; // Must see?
    
    echo $result['meta_score']; // Meta Score
    echo $result['meta_votes']; // Meta Votes
    echo $result['user_score']; // User Score
    echo number_format($result['user_votes']); // User Votes
}

you must always catch error first then get results.

Search

$metacritic = new Hooshid\MetacriticScraper\Metacritic();
$result = $metacritic->search("it");

// get all available data as json
echo json_encode($result);
$metacritic = new Hooshid\MetacriticScraper\Metacritic();
$result = $metacritic->search("it", 0, "movie");

// output
{
  "results": [
    {
      "full_url": "https://www.metacritic.com/movie/it",
      "url": "/movie/it",
      "url_slug": "it",
      "title": "It",
      "description": "When children begin to disappear in the town of Derry, Maine, a group of young kids are faced with their biggest fears when they square off against an evil clown named Pennywise, whose history of...",
      "year": 2017,
      "type": "movie",
      "meta_score": 69,
      "must_see": false,
      "score_class": "positive"
    },
    {
        ...
    }
  ],
  "paginate": {
    "current_page": 0,
    "last_page": 16,
    "per_page": 10
  }
}

in above example we give 2 new param to method, $page must be integer as paginate.

$type by default return all, but you can specify this param to (all, movie, tv, person)

Full examples

just open the example folder, we put all examples and methods demo for you in there!

Related projects

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 516
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 5
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 5
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-07-25