Получение Информации О Видео YouTube [PHP, C#]

0

Потребовалось мне получить некоторую информацию о видео YouTube. Благодаря гугловскому API это достаточно просто.

Для получения информации (заголовка, количества просмотров и т.д.) достаточно отправить GET-запрос по следующему адресу:

http://gdata.youtube.com/feeds/api/videos/<id>?v=2&alt=json

, где <id> — id видео (например, lE3a5-Kep3Y ).
В ответ вы получите строку в формате JSON, в которой закодирована информация о видео.

Для получения нужной мне информации (заголовок видео, количество просмотров, лайков и дизлайков) я написал простенький класс (ниже реализации на C# и PHP).

PHP

class youtube
{
 
    public $VideoId = "";
    public $Title = "NO TITLE";
    public $ViewCount = -1;
    public $NumDislikes = -1;
    public $NumLikes = -1;
 
    public function __construct( $link )
    {
        $this->getData( $link );
    }
 
    private function getData( $link )
    {
        $videoId = $link;
        $matches = array();
        if ( preg_match( "/watch\?v=([^&]+)(&)?/", $link, $matches ) )
        {
            $videoId = $matches[ 1 ];
        }
        $json_output = file_get_contents( "http://gdata.youtube.com/feeds/api/videos/"
             . $videoId . "?v=2&alt=json" );
        $json = json_decode( $json_output, true );
 
        $this->VideoId = $videoId;
        $this->Title = $json[ 'entry' ][ 'title' ][ '$t' ];
        $this->ViewCount = $json[ 'entry' ][ 'yt$statistics' ][ 'viewCount' ];
        $this->NumDislikes = $json[ 'entry' ][ 'yt$rating' ][ 'numDislikes' ];
        $this->NumLikes = $json[ 'entry' ][ 'yt$rating' ][ 'numLikes' ];
    }
 
}

пример использования (можно передавать как ссылку на видео, так и непосредственно id видео):

$youtube = new youtube( "https://www.youtube.com/watch?v=lE3a5-Kep3Y" );
print "title = " . $youtube->Title;
print "view count = " . $youtube->ViewCount;

Думаю, алгоритм понятен:

  1. Отправляем GET-запрос;
  2. Парсим json;
  3. ???
  4. Profit!

Пример:

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x