Парсер 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)
Новые темыОбъявленияСвободное общение
10:03 Как продвигать сайт с неуникальным контентом 
08:58 Стоит ли добавлять сайт в Rambler топ 100? 
08:57 Absence в Армении 
19:29 Dao.AD: Монетизация и покупка Push/Pops/Inpage и Video трафика! 
14:50 Индексация страниц 
12:36 У кого новостник, дайте пару советов плиз 
13:53 AviTool - мощный инструмент для автоматизации работы с Avito 
12:01 PonyBit.ru - обменный пункт PonyBit.ru (Понибит.ру) 
05:17 Продам копию сайта. 
04:11 Просто $0.04/IP 9PROXY.COM Резидентные прокси Неограниченная пропускная способность Уникальная политика замены Без чёрного списка 
01:31 Скрипт обменника валют 
21:44 BestX24 - быстрый и безопасный обменник криптовалют и электронных денежных средств 
17:24 A-Parser 1.1 - продвинутый парсер поисковых систем, Suggest, PR, DMOZ, Whois, etc 
14:01 Продам аккаунты Gmail USA IP | Gmail MIX IP | Outlook Old 
11:07 Ну что, кто куда деваете свои сайты? 
22:09 Добро пожаловать в цифровой мир... 
19:42 Топ-5 способов использовать мобильные прокси для бизнеса: подробный обзор 
22:08 Накрутка поисковых подсказок 
05:04 Точные прогнозы на футбол 
14:01 Union Pharm - топовая фарма-партнерка для профессионалов! 
10:59 Ням-ням! - 8 деликатесов, которые когда-то ели только бедные люди