Парсер Red Tube
Страницы: 1
Парсер Red Tube
Всем привет, есть движок со встроенным парсером видео из RedTube, но на данный момент он не работает. Было время мне один хороший человек помог подправить этот php файл и парсер стал работать. Но вот увы не задача я потерял этот файл((((
Так вот люди добрые и умные я помню что там было всё не столь сложно и делалось это через стандартные функции VCurl могли бы вы мне помочь и направить меня в нужное русло.
Вот сам код:

Код
<?php
class VGrab_redtube
{
    var $page;
    var $curl;
    function __construct()
    {
        $this->curl = new VCurl();
    }
    
    function VGrab_redtube()
    {
        $this->__construct();
    }

    function getPage( $url ) {
        $this->url = trim($url, '/');
        if ( $this->page = $this->curl->saveToString($url, 'pp=1;') ) {
            $this->page = trim($this->page);
            $this->page = str_replace("\n", '', $this->page);
            $this->page = str_replace("\r", '', $this->page);
            $this->page = preg_replace('/\s\s+/', ' ', $this->page);
            return true;
        }
        
        return false;
    }
    
    function getVideoTitle()
    {
        preg_match('/<title>&nbsp;RedTube - (.*?).<\/title>/', $this->page, $matches);
        if ( isset($matches['0']) ) {
            $title  = $matches['0'];
            $title  = str_replace('&nbsp;RedTube - ', '', $title);
            $title  = str_replace('<title>', '', $title);
            $title  = str_replace('</title>', '', $title);
            return $title;
        }
    }
    
    function getVideoTags()
    {
        return '';
    }
    
    function getVideoCategory()
    {
        return '';
    }
    
    function getVideoId()
    {
        return intval(strtolower(substr($this->url, strrpos($this->url, '/')+1)));
    }
    
    private function _uniord($ch)
    {
        $n = ord($ch{0});
        if ($n < 128) {
            return $n;
        }

        if ($n < 192 || $n > 253) {
            return false;
        }

        $arr = array(1 => 192, 2 => 224, 3 => 240, 4 => 248, 5 => 252);
        foreach ($arr as $key => $val) {
            if ($n >= $val) {
                $char[] = ord($ch{$key}) - 128;
                $range  = $val;
            } else {
                break;
            }
        }

        $retval = ($n - $range) * pow(64, sizeof($char));
        foreach ($char as $key => $val) {
            $pow        = sizeof($char) - ($key + 1);
            $retval    += $val * pow(64, $pow);
        }

        return $retval;
    }
    
    function getVideoUrl()
    {
        $p_file = '' .$this->getVideoId();
        if ($p_file == '') {
            $p_file=1;
        }
        $flor           = floor(($p_file/1000));
        $v_fileFloat    = '' .$flor;
        $v_fileLength   = strlen($p_file);
        for ($a = 1; $a <= 7 - $v_fileLength; $a++) {
            $p_file = '0' .$p_file;
        }

        $v_fileLength = strlen($v_fileFloat);
        for ($a = 1; $a <= 7 - $v_fileLength;$a++) {
            $v_fileFloat = '0' .$v_fileFloat;
        }
        
        $map        = array(
            "R", "1", "5", "3", "4", "2", "O", "7", "K", "9",
            "H", "B", "C", "D", "X", "F", "G", "A", "I", "J", "8", "L",
            "M", "Z", "6", "P", "Q", "0", "S", "T", "U", "V", "W", "E", "Y", "N"
        );
        $mapping    = '';
        $myInt      = 0;
        for ($a = 0; $a <= 6; $a++) {
            $bracket    = floor(substr($p_file,$a,1)*($a+1));
            $myInt      = $myInt + $bracket;
        }
        
        $myChar     = '' .$myInt;
        $myInt      = 0;
        for ($a = 0;$a< strlen($myChar);$a++) {
            $bracket    = floor(substr($myChar,$a,1));
            $myInt      = $myInt + $bracket;
        }
        
        if ($myInt >= 10) {
            $newChar = '' .$myInt;
        } else {
            $newChar = '0' .$myInt;
        }

        $x          = $this->_uniord(substr($p_file,3,1));
        $xx         = $x-48+$myInt+3;
        $mapping    = $mapping . $map[$xx];
        $x          = substr($newChar,1,1);
        $mapping    = $mapping . $x;
        $x          = $this->_uniord(substr($p_file,0,1));
        $xx         = $x-48+$myInt+2;
        $mapping    = $mapping . $map[$xx];
        $x          = $this->_uniord(substr($p_file,2,1));
        $xx         = $x-48+$myInt+1;
        $mapping    = $mapping . $map[$xx];
        $x          = $this->_uniord(substr($p_file,5,1));
        $xx         = $x-48+$myInt+6;
        $mapping    = $mapping . $map[$xx];
        $x          = $this->_uniord(substr($p_file,1,1));
        $xx         = $x-48+$myInt+5;
        $mapping    = $mapping . $map[$xx];
        $x          = substr($newChar,0,1);
        $mapping    = $mapping . $x;
        $x          = $this->_uniord(substr($p_file,4,1));
        $xx         = $x-48+$myInt+7;
        $mapping    = $mapping . $map[$xx];
        $x          = $this->_uniord(substr($p_file,6,1));
        $xx         = $x-48+$myInt+4;
        $mapping    = $mapping . $map[$xx];
        
        return 'http://dl.redtube.com/_videos_t4vn23s9jc5498tgj49icfj4678/' .$v_fileFloat. '/' .$mapping. '.flv';
    }
}
?>

 
Одно знаю, теперь ссылка на видео идёт не закодированная и её можно просто позаимствовать, но как это сделать? (
Скачайте самые новые фильмы торент
Страницы: 1
Похожие темы:
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Новые темыОбъявленияСвободное общение
18:44 LOSPOLLOS.COM - Конвертим по рецепту Хайзенберга. Dating, Mainstream, Binary Options 
13:43 Стоит ли добавлять сайт в Rambler топ 100? 
13:12 Покупные ссылки 
12:57 Rotapost прикрыли! Чем пользоваться? 
15:12 Ночной бар в Паттайе: как случайная встреча с "тайкой" и её кадыком перевернула мой взгляд на продвижение сайта в Google 2026 
15:01 Webvork - международная товарная СРА сеть с сертифицированными офферами на Европу. 
07:24 3snet - гемблинг, беттинг, форекс, бинарные опционы, майнинг 
01:31 Продам обменник криптовалюты, а также новый обменник под ключ с обучением. Скидки на скрипты обменника 
01:07 Full-Stack Developer — Сайты и Софт любой сложности | Developer Websites and Soft of any Complexity! 
20:42 E-currency.exchange — ваш помощник в мире обменов 
17:00 Belurk — высокоскоростные анонимные прокси от 0,24 рублей 
15:15 Продажа горячих лидов и готовых баз для финансовых проектов, брокеров и чарджбэк-компаний. 
08:39 Мониторинг обменников Сrypto-scout.io 
04:11 Просто $0.04/IP 9PROXY.COM Резидентные прокси Неограниченная пропускная способность Уникальная политика замены Без чёрного списка 
22:59 Про мясо 
15:07 Добро пожаловать в цифровой мир... 
22:12 BYTIK.shop – сервис по продвижению в популярных социальных сетях​ 
10:10 накрутка трафика в SimilarWeb 
16:50 Компьютерная мышь 
22:11 С юмором по жизни! 
23:03 Точные прогнозы на футбол