Dismiss Notice
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

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

Рабочий парсер (поиск) торрент раздач для dle по заголовку новости

Discussion in 'Модули DLE' started by usergeyv, Jul 4, 2017.

04.07.17 в 20:43
12.10.25 в 15:48
180
37,591
0
  1. TopicStarter Overlay
    usergeyv

    usergeyv Посетитель

    Messages:
    58
    Likes Received:
    12
    Best Answers:
    0
    Screenshot_1.png
    Поиск торрент раздач происходит по названию новости или конкретному доп. полю. Парсит известный торрент трекер Rutor.
    Проверялось DLE 11 на дефолтном шаблоне. Установка займет не больше 30сек, так как нужно дописать всего одну строчку в одном файле. Инструкции по установке в архиве

     
    Last edited by a moderator: Jul 5, 2017
  2. Krabsterz8

    Krabsterz8 Бывалый

    Messages:
    841
    Likes Received:
    139
    Best Answers:
    1
    .
     
    Last edited: Feb 5, 2020
  3. LisER07

    LisER07 VIP Кинотрафик v2 Кодер

    Messages:
    630
    Likes Received:
    99
    Best Answers:
    2
    usergeyv
    Пожалуйста, выложите модуль полностью
     
  4. TopicStarter Overlay
    usergeyv

    usergeyv Посетитель

    Messages:
    58
    Likes Received:
    12
    Best Answers:
    0
    Ну вот вся настройка и больше ничего не надо:
    Code:
    Установка поиска раздач по {title}!
    
    
    
    Открыть файл /engine/modules/show.full.php
    
    Найти              $tpl->set( '{title}', $metatags['title'] );
    
    Для DLE 10.1 выше  $tpl->set( '{title}', $row['title'] );
    
    
    
    Ниже добавить
    
            $nameT = str_replace('\'', '', $row['title']);
            $torInfo = <<<JS
    <div id="torrent_info"></div>
    <div id="torrent_loading" align="center"><img src="https://yourtorrent.ru/images/loading.gif"><br><b>Поиск торрент раздач, пожалуйста подождите!</b></div>
    <script type="text/javascript">
    $(function(){
        $('#torrent_loading').show();
        $.post('https://yourtorrent.ru/torrents.php', { title: '{$nameT}' }, function(data){
            $('#torrent_loading').hide();
            $('#torrent_info').fadeIn(500).html(data);
        });
        return false;
    });
    </script>
    JS;
    
            $tpl->set( '{torrents}', $torInfo );
    
    В шаблоне в полной новости вставить в любое место {torrents}
    
    
    
    
    ----------------------------------------------------------------------------------
    
    Установка поиска раздач по дополнительному полю!
    
    
    
    Открыть файл /engine/modules/show.full.php
    
    Найти              $tpl->set( '{title}', $metatags['title'] );
    
    Для DLE 10.1 выше  $tpl->set( '{title}', $row['title'] );
    
    
    
    Ниже добавить
    
            $xfieldsdata = xfieldsdataload( $row['xfields'] );
            $torInfo = <<<JS
    <div id="torrent_info"></div>
    <div id="torrent_loading" align="center"><img src="https://yourtorrent.ru/images/loading.gif"><br><b>Поиск торрент раздач, пожалуйста подождите!</b></div>
    <script type="text/javascript">
    $(function(){
        $('#torrent_loading').show();
        $.post('https://yourtorrent.ru/torrents.php', { title: '{$xfieldsdata['название доп поля']}' }, function(data){
            $('#torrent_loading').hide();
            $('#torrent_info').fadeIn(500).html(data);
        });
        return false;
    });
    </script>
    JS;
    
            $tpl->set( '{torrents}', $torInfo );
    
    В шаблоне в полной новости вставить в любое место {torrents}
    
    -----------------------------------------------------------------------------------
    
    
    Действуй по инструкции и все будет
     
    Last edited by a moderator: Jul 5, 2017
  5. Ботяра

    Ботяра Забанен

    Messages:
    0
    Likes Received:
    0
    Best Answers:
    54
    Все пошли и начали себе ставить скрипт с yourtorrent.ru. Серьезно?
     
  6. LisER07

    LisER07 VIP Кинотрафик v2 Кодер

    Messages:
    630
    Likes Received:
    99
    Best Answers:
    2
    а почему мы должны делать запрос на сторонние сайт ? а не лучше это все у себя на сайте сделать без запросов на другие сайты и тд ?

    и какие гарантии что в ответь рекламу не отправишь ?
     
    Last edited by a moderator: Jul 5, 2017
  7. TopicStarter Overlay
    usergeyv

    usergeyv Посетитель

    Messages:
    58
    Likes Received:
    12
    Best Answers:
    0
    хак взят на просторах инета в открытых источника, гарантий не может быть ,известно что ищет на Rutor, так как yourtorrent и Rutor предоставляет доступ к торрент файлам ,любой из них может в любое время перестать работать, хак направлен для ленивых вебмастеров, все ищет за них. Можно не использовать,а самому заливать торрент файлы к себе на сервер,лично себе поставил как похожи торрент файлы,потому что не всегда есть раздача с файлов на сервере
     
  8. Ботяра

    Ботяра Забанен

    Messages:
    0
    Likes Received:
    0
    Best Answers:
    54
    аналогично можно пользоваться и GitHub - 4h0y/4h0y.github.io: Сайт-агрегатор плееров онлайн фильмов и торрентов https://4h0y.github.io
    И без правок движка всё будет!
     
    • Согласен Согласен x 1
  9. Ботяра

    Ботяра Забанен

    Messages:
    0
    Likes Received:
    0
    Best Answers:
    54
    Инструкция по установке та же самая!

    код файла:
    PHP:
    <?php @session_start();@ob_start();@ob_implicit_flush(0);@error_reporting(E_ALL^E_WARNING^E_NOTICE);@ini_set('display_errors',false);@ini_set('html_errors',false);@ini_set('error_reporting',E_ALL^E_WARNING^E_NOTICE);define('DATALIFEENGINE',true);$member_id=false;$is_logged=false;define('ROOT_DIR',dirname(__FILE__).'/../..');define('ENGINE_DIR',ROOT_DIR.'/engine');@include(ENGINE_DIR.'/data/config.php');require_once ENGINE_DIR.'/classes/mysql.php';require_once ENGINE_DIR.'/data/dbconfig.php';require_once ENGINE_DIR.'/modules/functions.php';function UTF8toCP1251($str){static$table=array("\xD0\x81"=>"\xA8","\xD1\x91"=>"\xB8","\xD0\x8E"=>"\xA1","\xD1\x9E"=>"\xA2","\xD0\x84"=>"\xAA","\xD0\x87"=>"\xAF","\xD0\x86"=>"\xB2","\xD1\x96"=>"\xB3","\xD1\x94"=>"\xBA","\xD1\x97"=>"\xBF","\xD3\x90"=>"\x8C","\xD3\x96"=>"\x8D","\xD2\xAA"=>"\x8E","\xD3\xB2"=>"\x8F","\xD3\x91"=>"\x9C","\xD3\x97"=>"\x9D","\xD2\xAB"=>"\x9E","\xD3\xB3"=>"\x9F",);return preg_replace('#([\xD0-\xD1])([\x80-\xBF])#se','isset($table["$0"]) ? $table["$0"] :
                           chr(ord("$2")+("$1" == "\xD0" ? 0x30 : 0x70))
                          '
    ,$str);}function search_torrent($query){$query=str_replace(" ","+",$query);$linksearch='http://rutor.is/search/0/0/100/0/'.$query.'';$result=dle_cache('rutor_'.md5($query).'',$config['skin']);if(!$result){$result=file_get_contents($linksearch);/*$result=UTF8toCP1251($result);*/$resultAll=$result;$find2="";$p1=strpos($result,"<table width=\"100%\"><tr class=\"backgr\">");$p2=strpos($result,"</table><b>Страницы");$result=substr($result,$p1,$p2-$p1);create_cache('rutor_'.md5($query).'',$result,$config['skin']);}preg_match_all('#<a class="downgif" href="/download/(.[0-9]*)"><img src="/s/i/d.gif" alt="D" /></a>(.*)<a href="/torrent/(.*)">(.*)</a></td>(.*)<td align="right">([0-9]*..?[0-9]+.?)&nbsp;(.[A-Z]*)</td><td align="center"><span class="green"><img src="/s/t/arrowup.gif" alt="S" />&nbsp;(.[0-9]*)</span>&nbsp;<img src="/s/t/arrowdown.gif" alt="L" /><span class="red">&nbsp;(.[0-9]*)</span></td></tr>#Uis',$result,$find);$count=intval(count($find['1']));$i=-1;$find2="";while($i<$count-1){if($is==5)break;$i++;$find['2'][$i]=str_replace("/s/i/m.png","/uploads/magnet.png",$find['2'][$i]);$find['2'][$i]=str_replace("magnet:","magnet:",$find['2'][$i]);$is=$i+1;$find2.="<tr>
    <td><center>"
    .$find['2'][$i]." <a href='//rutor.is/download/".$find['1'][$i]."'><img src='/uploads/torrent.png'></a><center></td>
    <td class='namtoreka'><div class='bbs'>"
    .$find['4'][$i]."</div></td>
    <td class='sizepiza'>"
    .$find['6'][$i]."&nbsp;".$find['7'][$i]."</td>
    <td class='sirazd'>"
    .$find['8'][$i]."</td>
    <td class='sikach'>"
    .$find['9'][$i]."</td>
    </tr>
    "
    ;}if(!$find2 or $find2==""){$finds="";}else{$finds="                                    <div id='torrents_list'>
                                            <table class='restable' id='restable_sort'>
                                                <thead>
                                                    <tr class='restable_h'>
                                                        <th>Скачать</th>
                                                        <th>Название</th>
                                                        <th>Размер</th>
                                                        <th><i class='fa fa-upload fa-lg tip' title='' data-original-title='Раздают'></i></th>
                                                        <th><i class='fa fa-download fa-lg tip' title='' data-original-title='Качают'></i></th>
                                                    </tr>
                                                </thead>
                                                <tbody>"
    .$find2."
            </tbody>
        </table>
    </div>


    "
    ;}return($finds);}$title=trim(strip_tags($_POST['title']));@header("Content-type: text/html; charset=".$config['charset']);echo search_torrent($title);
    Код в таком виде, т.к. издевался над ним недавно, в итоге оригинала кода не сохранилось! Но код работает и находит торрнеты с рутора!
     
  10. LisER07

    LisER07 VIP Кинотрафик v2 Кодер

    Messages:
    630
    Likes Received:
    99
    Best Answers:
    2
    мой вариант :p код работает ) сам проверил
    PHP:
    <?php

    /*
    * AutoRutorParser by LisER (Maga)
    *
    * Skype: liser07
    * E-mail: [email protected]
    *
    * Данный код защищен авторскими правами
    */
    if( ! class_exists('AutoRutorParser') ){
        class 
    AutoRutorParser {

            private 
    $site "http://rutor.info/";

            private 
    $cfg = array ();

            private 
    $count 5;
            
            private 
    $magnet true;

            private 
    $reg = array(
                                            
    'title' => '/(?:<a href=")(?:\/torrent\/)([0-9]+)(?:\/.+?">)(.+?)(?:<\/a>)/',
                                            
    'size'  => '/(?:<td align="right">)(.+?)(?:&nbsp;)((?:GB|MB|KB|B)+)(?:<\/td>)/',
                                            
    'magnet' => '/(?:<a href="magnet:)(.+?)(?:">)/'
                                        
    );

            public function 
    __construct$array )
            {
                
    $this->cfg $array;
                
    $this->count = ( $this->cfg['c'] ) ? $this->cfg['c'] : $this->count;
            } 
    // public function __construct( $array )

            
    private function curl$url ) {           
                
    $u "Mozilla/5.0 (Windows NT 6.1; rv:8.0.1) Gecko/20100101 Firefox/8.0.1";
                
    $ch curl_init$url );
                
    curl_setopt($chCURLOPT_URL$url);
                
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
                
    curl_setopt($chCURLOPT_HEADER0);
                
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
                
    curl_setopt($chCURLOPT_ENCODING"gzip");
                
    curl_setopt($chCURLOPT_SSL_VERIFYPEER0);
                
    curl_setopt($chCURLOPT_SSL_VERIFYHOST0);
                
    curl_setopt($chCURLOPT_USERAGENT$u);
                
    curl_setopt($chCURLOPT_CONNECTTIMEOUT120);
                
    curl_setopt($chCURLOPT_TIMEOUT120);
                
    curl_setopt($chCURLOPT_MAXREDIRS10);
                
    $gp curl_exec($ch);
                
    curl_close($ch);
                return 
    $gp;
            }

            private function 
    search ()
            {
                
    $this->url $this->cfg['q'];
                
    $this->url str_replace(" ""%20"$this->url );
                
    $this->url iconv"windows-1251""utf-8"$this->url );
                
    $this->url $this->site "search/" $this->url;
                
    $this->url $this->curl $this->url );
                
    $this->url iconv"utf-8""windows-1251"$this->url );
                return 
    $this->url;
            }

            public function 
    run()
            {           
                
    $this->url $this->search();
                
                foreach ( 
    $this->reg as $key => $val )
                {
                    
    preg_match_all$val$this->url$this->result[$key] );
                }
                
                
    $html "<table class=\"torrents timetable\">";
                
                    
    $html .= "<tr>";
                        
    $html .= "<th>Название</th>";
                        
    $html .= "<th>Размер</th>";
                        
    $html .= "<th>Скачать</th>";
                    
    $html .= "</tr>";
                
                    for( 
    $i 0$i <= $this->count 1$i++ )
                    {
                        
    $html .= "<tr>";
                            
    $html .= "<td style=\"width:80%;\" >{$this->result['title'][2][$i]}</td>";
                            
    $html .= "<td>{$this->result['size' ][1][$i]} {$this->result['size' ][2][$i]}</td>";
                            
    $html .= ( $this->magnet ) ? "<td><a class=\"down_torrent\" href=\"magnet:{$this->result['magnet'][1][$i]}/\">Скачать</a></td>" "<td><a class=\"down_torrent\" href=\"/download/{$this->result['title'][1][$i]}/\">Скачать</a></td>";
                        
    $html .= "</tr>";
                    }

                
    $html .= "</table>";

                return 
    $html;
            }
        }
    }

    $Rutor = new AutoRutorParser(
            array(
                
    'q' => ( $qS ) ? $qS "",
                
    'c' => ( $countT ) ? $countT 
            
    )
    );

    echo 
    $Rutor->run();

    ?>
     
    • Нравится Нравится x 1
  11. MIKE_FM

    MIKE_FM Местный

    Messages:
    1,868
    Likes Received:
    284
    Best Answers:
    2
    Я на свой сайт купил такой парсер торрентов. Стоит немного, а работает отлично. И парсит с 5 трекеров.
     
  12. pread

    pread Забанен

    Messages:
    308
    Likes Received:
    22
    Best Answers:
    0
    как уставить?
     
  13. anatolyi

    anatolyi Зелёный

    Messages:
    8
    Likes Received:
    1
    Best Answers:
    0
    А ссылка палевная что скачка идет с рутор, да и заблочат сейчас зеркало, от куда будет потом парсить? я бы конечно и сам бы купил если бы не умел писать парсеры.
    у LisER07 код по интересее будет, но как я говорил ранее не помешало бы кеширование, и сделать видимость того что ссылки все находятся на твоем сервере
    как по мне доверия к сайту будет больше
    это просто мое личное мнение
     
  14. Ботяра

    Ботяра Забанен

    Messages:
    0
    Likes Received:
    0
    Best Answers:
    54
    Есть домен rutor.is который всегда тебе откроет не заблоченный у тебя рутор! Домены иногда могут быть разные, но это всё 100% официальные зекрала рутора будут.
    я давно тот код закодировал чем то, и оригинал не сохранил сразу, надо искать и вспоминать правки какие делал, а времени на это пока нет, чтобы всё проверить! Главное что он работает и всегда найдет, если есть на руторе материал.
     
  15. robox

    robox Зелёный

    Messages:
    15
    Likes Received:
    7
    Best Answers:
    0
    Это сколько у тебя мозгов для таких глупых вопросов?
     
    • Смешно Смешно x 1
  16. Krabsterz8

    Krabsterz8 Бывалый

    Messages:
    841
    Likes Received:
    139
    Best Answers:
    1
    .
     
    Last edited: Feb 5, 2020
  17. Ботяра

    Ботяра Забанен

    Messages:
    0
    Likes Received:
    0
    Best Answers:
    54
    PHP:
    в show.full.php после
    $tpl
    ->set'{full-story}'$row['full_story'] );
    добавить

            $xfieldsdata 
    xfieldsdataload$row['xfields'] );
          
            
    $torInfo = <<<JS
    <div id="torrent_info"></div>

    <script type="text/javascript">
    $(function(){
        $('#torrent_loading').show();
        $.post(dle_root + 'engine/ajax/torrents.php', {id: '
    {$row['id']}', title: '{$row['title']} ({$xfieldsdata['year']})'}, function(data){
            $('#torrent_loading').hide();
            $('#torrent_info').fadeIn(500).html(data);
        });
        return false;
    });
    </script>
    JS;
            
    $tpl->set'{torrents}'$torInfo );
          
    в ксс файл
    .naiden-torrents{font-size:24px;color:#ca0000;margin:15px;}.load-torrent{background:#3fb344;}.load-torrent i{font-size:100px;}.notorka{text-align:center;background:#e95151;color:#fff;padding:15px 10px;}.notorka .ntr1{font-size:25px;padding-bottom:5px;}.restable{width:100%;border-spacing:0;}.restable thead tr{cursor:pointer;background:#353A40;color:#FFBC45;text-shadow:0 1px 0 rgba(0,0,0,0.66);line-height:25px;}.restable thead tr th{font-weight:700;font-family:sans-serif, arial;text-align:center;padding:6px 0;}.restable thead tr th.headerSortUp,.restable thead tr th.headerSortDown{background:rgba(0,0,0,0.5);}.restable thead tr th > span{background:url(../images/nosorted.gif) -5px 50% rgba(255,255,255,0.49) no-repeat;padding-left:3px;margin-left:5px;border-radius:5px;}.restable tbody tr:nth-child(2n){background-color:rgba(102,102,102,0.04);}.restable tbody tr{color:#444;text-shadow:0 1px 0 #FFF;}.restable tbody tr:hover{background-color:rgba(15,33,255,0.05);}.restable tbody tr td{text-align:center;vertical-align:middle;color:#333;font-size:12px;max-width:950px;line-height:20px;padding:8px 10px;}.restable tbody tr .namtoreka{padding-left:15px;text-align:left;}.restable tbody tr .sizepiza{text-align:right;font-weight:700;}.restable tbody tr .sirazd,.restable tbody tr .sikach{font-weight:700;padding:3px;}.restable tbody tr .sirazd{color:green;background-color:rgba(0,128,0,0.05);}.restable tbody tr .sikach{color:#8B0000;background-color:rgba(255,0,0,0.05);}#pselect{display:inline;background:#ebebeb;border-bottom:1px solid rgba(0,0,0,0.251);cursor:pointer;border-radius:5px;color:gray;text-shadow:#FFF 0 1px 2px;font-size:15px;margin:3px;padding:5px 12px;}#pselect.active,#pselect:hover{background:#97d234!important;border-bottom:1px solid rgba(0,0,0,0.251);text-shadow:1px 1px 2px #000;color:#fff!important;}.restable .bbs{margin-right:15px;text-shadow:1px 1px 1px #FCFCFC;font-family:tahoma, arial;font-size:12px;}.restable a{color:#5A5A5A;}.restable a:hover{color:red;}.tupravo{text-align:center;font-size:25px;padding-bottom:10px;box-shadow:0 7px 13px -12px #282828;}.tupravo a{border-bottom:1px solid #428BCA;}.tupravo a:hover{text-decoration:none;color:#00ABF0;border-bottom:1px solid #00ABF0;}.dwnl-osn{display:table;box-shadow:7px 0 13px -12px #282828, -7px 0 13px -12px #282828;margin:0 auto;padding:20px 0;}.dwnl-osn .dwnl-left{width:700px;display:table-cell;vertical-align:top;padding:0 20px;}.dwnl-osn .dwnl-right{width:300px;display:table-cell;vertical-align:top;padding:0 20px;}.dwnl-osn .dwnl-tit{font-size:26px;border-bottom:1px solid #d7d7d7;margin-bottom:20px;padding:10px 0 20px;}.dwnl-osn .dwnl-icoski{font-size:22px;padding-bottom:10px;border-bottom:1px dashed #b6b6b6;}.dwnl-ggew{text-align:center;width:33.33%;float:left;vertical-align:top;padding:0 15px;}.dwnl-ggew i{font-size:120px;display:block;margin-bottom:-5px;text-shadow:0 1px 2px rgba(0,0,0,0.42);}.dwnl-osn .dwnl-resultik{font-size:20px;font-weight:700;font-family:verdana, arial;padding:10px 0;}.dwnl-osn .dwnl-razdach i{color:#00ABF0;}.dwnl-osn .dwnl-kach i{color:#65C865;}.dwnl-osn .dwnl-razmerka i{color:#F6D21E;}.ring-av-vd{font-weight:700;font-size:15px;padding:5px 10px;}.ring-av-vd span{font-weight:400;font-size:13px;margin-left:5px;}.ring-av-vd.vdd{border-bottom:1px solid #D7D7D7;margin-bottom:20px;padding-bottom:20px;}.dwnl-timers{color:#333;text-align:center;background:#fff;border:#000;margin-top:20px;box-shadow:0 -2px 6px -5px #888888, 0 3px 6px -5px #888;border-radius:4px;font-size:16px;font-family:verdana, arial;padding:10px 0;}.dwnl-timers .naraz{color:#DF1B1B;}.dwnl-timers #countdown{background:url(../images/timer.gif) no-repeat;display:inline-block;height:70px;width:70px;vertical-align:middle;font-size:18px;padding:22px 0;}.cf:before,.cf:after{content:"";display:table;}.cf:after{clear:both;}.cf{zoom:1;}.form-wrapper-tor{width:580px;background:rgba(0,0,0,.2);-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;-moz-box-shadow:0 1px 1px rgba(0,0,0,.4) inset, 0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:0 1px 1px rgba(0,0,0,.4) inset, 0 1px 0 rgba(255,255,255,.2);box-shadow:0 1px 1px rgba(0,0,0,.4) inset, 0 1px 0 rgba(255,255,255,.2);margin:1px auto 25px;padding:15px;}.form-wrapper-tor input{width:440px;height:40px;float:left;font:bold 15px 'trebuchet MS', Tahoma;border:0;background:#eee;-moz-border-radius:3px 0 0 3px;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;padding:0 5px;}.form-wrapper-tor input:focus{outline:0;background:#fff;-moz-box-shadow:0 0 2px rgba(0,0,0,.8) inset;-webkit-box-shadow:0 0 2px rgba(0,0,0,.8) inset;box-shadow:0 0 2px rgba(0,0,0,.8) inset;}.form-wrapper-tor button{position:relative;float:right;border:0;cursor:pointer;height:40px;width:110px;font:bold 15px/40px 'trebuchet MS', Tahoma;color:#fff;text-transform:uppercase;background:#363B41;border-radius:0 3px 3px 0;text-shadow:0 -1px 0 rgba(0,0,0,.3);}.form-wrapper-tor button:hover{opacity:0.8;}.form-wrapper-tor button:before{content:'';position:absolute;top:12px;left:-8px;border-color:transparent #363B41;border-style:solid solid solid none;border-width:8px 8px 8px 0;}.form-wrapper-tor button::-moz-focus-inner{border:0;}.form-wrapper-tor input::-webkit-input-placeholder,.form-wrapper-tor input:-moz-placeholder,.form-wrapper-tor input:-ms-input-placeholder{color:#999;font-weight:400;font-style:italic;}
    файл сохранить и положить сюда - engine/ajax/torrents.php
     
    • Нравится Нравится x 1
  18. Krabsterz8

    Krabsterz8 Бывалый

    Messages:
    841
    Likes Received:
    139
    Best Answers:
    1
    .
     
    Last edited: Feb 5, 2020
  19. Ботяра

    Ботяра Забанен

    Messages:
    0
    Likes Received:
    0
    Best Answers:
    54
    значит что то сделал не так как надо! Скрипт 100% работает...
     
  20. bulatro

    bulatro Зелёный

    Messages:
    13
    Likes Received:
    1
    Best Answers:
    0
    @byroot,скрипт работает и это хорошо. Но есть одна проблема: из-за того, что у меня кодировка windows-1251 у меня каракули выходят вместо русских названий. Это можно исправить?