Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Серверная часть для yohoho

Тема в разделе "Плееры для кино сайтов", создана пользователем chuvak, 3 янв 2022.

03.01.22 в 18:44
01.04.22 в 15:56
7
5.358
0
  1. TopicStarter Overlay
    chuvak

    chuvak Бывалый

    Регистрация:
    14 окт 2021
    Сообщения:
    207
    Лучших ответов:
    1
    Рейтинги:
    +60 / 20 / -0
    PHP:
    <?php
    require __DIR__ '/vendor/autoload.php';

    use 
    Clue\React\Buzz\Browser;
    use 
    React\EventLoop\LoopInterface;

    class 
    KinopoiskParser {

        private 
    $client;

        private 
    $loop;
        
        private 
    $parsed = [];

        public function 
    __construct(Browser $clientLoopInterface $loop)
        {
            
    $this->client $client;
            
    $this->loop $loop;
        }

        public function 
    parse($idkp)
        {
            
    $this->client->get('https://api.alloha.tv/?token=&kp=' .$idkp)->then(
                function (\
    Psr\Http\Message\ResponseInterface $response) {
                    
    $this->parsed['alloha'] = $this->extractFromHtml((string) $response->getBody(), 0);
            });
            
                    
    $this->client->get('https://bazon.cc/api/search?token=&kp=' .$idkp)->then(
                function (\
    Psr\Http\Message\ResponseInterface $response) {
                    
    $this->parsed['bazon'] = $this->extractFromHtml((string) $response->getBody(), 1);
            });
            
                    
    $this->client->get('https://api1640838797.bhcesh.me/list?token=&kinopoisk_id=' .$idkp)->then(
                function (\
    Psr\Http\Message\ResponseInterface $response) {
                    
    $this->parsed['collaps'] = $this->extractFromHtml((string) $response->getBody(), 2);
            });
            
                    
    $this->client->get('https://videocdn.tv/api/short?api_token=&kinopoisk_id=' .$idkp)->then(
                function (\
    Psr\Http\Message\ResponseInterface $response) {
                    
    $this->parsed['videocdn'] = $this->extractFromHtml((string) $response->getBody(), 3);
            });
            
                    
    $this->client->get('https://apivb.info/api/videos.json?token=&id_kp=' .$idkp)->then(
                function (\
    Psr\Http\Message\ResponseInterface $response) {
                    
    $this->parsed['hdvb'] = $this->extractFromHtml((string) $response->getBody(), 4);
            });
            
                    
    $this->client->get('https://kodikapi.com/search?token=&kinopoisk_id=' .$idkp)->then(
                function (\
    Psr\Http\Message\ResponseInterface $response) {
                    
    $this->parsed['kodik'] = $this->extractFromHtml((string) $response->getBody(), 5);
            });
            
                    
    $this->client->get('https://apidevel.ustore.bz/?f=search_by_id&hash=&where=kinopoisk&id=' .$idkp)->then(
                function (\
    Psr\Http\Message\ResponseInterface $response) {
                    
    $this->parsed['ustore'] = $this->extractFromHtml((string) $response->getBody(), 6);
            });

        }
        
        public function 
    extractFromHtml($html$i)
        {
            switch (
    $i) {
            case 
    0:
                
    $array json_decode($html,true)['data'];
                
    $trs explode(","$array['translation']);
                
    $arr['alloha']['translate'] = $trs['0'];
                
    $trss explode(","$array['quality']);
                
    $arr['alloha']['quality'] = $trs['0'];
                return [
                            
    'iframe'        => $array['iframe'],
                            
    'translate'       => $trs['0'],
                            
    'quality'  => $trss['0']
                        ];
                break;
            case 
    1:
                
    $array json_decode($html,true)['results']['0'];
                return [
                            
    'iframe'        => $array['link'],
                            
    'translate'       => $array['translation'],
                            
    'quality'  => $array['quality']
                        ];
                break;
            case 
    2:
                
    $array json_decode($html,true)['results']['0'];
                return [
                            
    'iframe'        => $array['iframe_url'],
                            
    'translate'       => '',
                            
    'quality'  => $array['quality']
                        ];
                break;
            case 
    3:
                
    $array json_decode($html,true)['data']['0'];
                return [
                            
    'iframe'        => $array['iframe_src'],
                            
    'translate'       => $array['translations']['0'],
                            
    'quality'  => $array['quality']
                        ];
                break;
            case 
    4:
                
    $array json_decode($html,true)['0'];
                return [
                            
    'iframe'        => $array['iframe_url'],
                            
    'translate'       => $array['translator'],
                            
    'quality'  => $array['quality']
                        ];
                break;
            case 
    5:
                
    $array json_decode($html,true)['results']['0'];
                return [
                            
    'iframe'        => $array['link'],
                            
    'translate'       => $array['translation']['title'],
                            
    'quality'  => $array['quality']
                        ];
                break;
            case 
    6:
                
    $array json_decode($html,true)['0'];
                return [
                            
    'iframe'        => $array['iframe'],
                            
    'translate'       => $array['translate'],
                            
    'quality'  => $array['quality']
                        ];
                break;
            }
        }
        
        public function 
    getMovieData()
        {
            return 
    $this->parsed;
        }
    }
    $loop React\EventLoop\Factory::create();
    $client = new Browser($loop);
    $parser = new KinopoiskParser($client$loop);
    $parser->parse(370);
    $loop->run();
    echo 
    json_encode($parser->getMovieData());
    Накидал побыстрому(стырил) тестовый вариант, еще много что доделать надо, у кого есть желание, помогайте
     
  2. Lolpron

    Lolpron Бывалый

    Регистрация:
    16 ноя 2021
    Сообщения:
    158
    Лучших ответов:
    0
    Рейтинги:
    +52 / 9 / -0
    Не шарю за dev, но с удовольствием буду следить за развитием. Сам сижу на yohoho, круто будет, если появится альтернатива без связки с yohoho серверами. Где-то видел что разработчик утерял доступ к серверам((((
     
  3. VideoCDN

    PRO Users

    Регистрация:
    21 мар 2019
    Сообщения:
    701
    Лучших ответов:
    1
    Рейтинги:
    +303 / 41 / -0
  4. TeraMoune

    TeraMoune Бывалый

    Регистрация:
    6 апр 2019
    Сообщения:
    310
    Лучших ответов:
    3
    Рейтинги:
    +130 / 9 / -0
    PHP:
    require __DIR__ '/vendor/autoload.php';
     
    #4 TeraMoune, 4 янв 2022
    Последнее редактирование: 4 янв 2022
  5. lolkazzz

    PRO Users

    Регистрация:
    4 янв 2017
    Сообщения:
    545
    Лучших ответов:
    1
    Рейтинги:
    +185 / 13 / -0
    кто то ставил? как работает? как вставлять в страницу?
     
  6. 1080p

    1080p Местный

    Регистрация:
    20 окт 2020
    Сообщения:
    1.786
    Лучших ответов:
    4
    Рейтинги:
    +726 / 215 / -0
    /vendor/autoload.php

    Это где взять?)
     
  7. Xname

    Xname Посетитель

    Регистрация:
    10 май 2021
    Сообщения:
    56
    Лучших ответов:
    0
    Рейтинги:
    +25 / 10 / -0
    Это composer
     
  8. TopicStarter Overlay
    chuvak

    chuvak Бывалый

    Регистрация:
    14 окт 2021
    Сообщения:
    207
    Лучших ответов:
    1
    Рейтинги:
    +60 / 20 / -0
    Сюда надо еще кэш приделать, и так помельчи. Кому не лень сделайте
     
Яндекс.Метрика