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

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

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

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

04.07.17 в 20:43
12.10.25 в 15:48
180
37,449
0
  1. Ботяра

    Забанен

    Joined:
    Oct 10, 2015
    Messages:
    0
    Best Answers:
    54
    Ratings:
    +711 / 74 / -0
    так же как пи плеер прячешь. например создать доп поле чтоб не показывать торренты в новости и прописать условия на вывод блока торрентов
     
  2. Ботяра

    Забанен

    Joined:
    Oct 10, 2015
    Messages:
    0
    Best Answers:
    54
    Ratings:
    +711 / 74 / -0
    Недавно обнаружилось, что поиск на руторе не находит ничего если в поисковом запросе встречается апостроф ', а такое не часто, но встречается в оригинальных названиях зарубежных материалов, и модуль бесконечно крутит в этом случае preloader поиска торрентов. Сам модуль пофиксить не получилось, поэтому просто нашёл самый простой выход из ситуации - это через условия if, которые уже есть в ДЛЕ с версии 14.0 или 14.1. У меня получилось так:
    в fullstory.tpl:
    Code:
    [if xfield_title_en !~ "'"][transfer=title_en] [xfvalue_title_en][/transfer][/if]
    в main.tpl где выводится js код для модуля поисковая фраза title:
    Code:
    [xfvalue_title_ru]{transfer_title_en} ([xfvalue_year limit="4"])
    Здесь у меня используется вторая версия плагина и модуль глобальных тегов ДЛЕ. Таким образом конечно точность поиска понижается.
     
    • Полезно Полезно x 1
  3. Hell1g

    Hell1g Бывалый

    Joined:
    May 16, 2018
    Messages:
    243
    Best Answers:
    0
    Ratings:
    +42 / 1 / -0
    Все облазил и не могу найти рабочее зеркало сайта Rutor для https сайта. Может кто подскажет, мб их можно самому как-то делать через анонимайзеры или типо того))
     
  4. Ботяра

    Забанен

    Joined:
    Oct 10, 2015
    Messages:
    0
    Best Answers:
    54
    Ratings:
    +711 / 74 / -0
    Hell1g сервер не в РФ находится?
     
  5. Hell1g

    Hell1g Бывалый

    Joined:
    May 16, 2018
    Messages:
    243
    Best Answers:
    0
    Ratings:
    +42 / 1 / -0
    В Нидерах
     
  6. Ботяра

    Забанен

    Joined:
    Oct 10, 2015
    Messages:
    0
    Best Answers:
    54
    Ratings:
    +711 / 74 / -0
    обратись в iCooLER он мне скрипт для этой цели писал, работает отлично, но сливать его не буду без разрешения автора. может договоритесь с ним.
     
  7. Hell1g

    Hell1g Бывалый

    Joined:
    May 16, 2018
    Messages:
    243
    Best Answers:
    0
    Ratings:
    +42 / 1 / -0
    Спасибо:)
     
  8. Fixa

    Fixa Новичок

    Joined:
    Nov 12, 2016
    Messages:
    39
    Best Answers:
    0
    Ratings:
    +1 / 0 / -0
    Перестал работать модуль(
     
  9. meloff

    meloff Зелёный

    Joined:
    Oct 5, 2021
    Messages:
    5
    Best Answers:
    0
    Ratings:
    +2 / 0 / -0
    Кое как вроде заставил парсить на 15.1, вопрос в том, как теперь скачивать .torrent файлы? :) При клике на ссылки браузер ругается на Mixed Content, потому что сайт на https, а зеркало рутора на http (Рутор переехал на LIVE-RUTOR.ORG!). Попробовал подменить ссылки на внутренние через RewriteRule, это особо не помогло, Mixed Content остался. Если правой кнопкой сохранять ссылку, то качается нормально, но так делать мало кто будет. Если ссылку вручную открыть в отдельной вкладке, она тоже скачивается, но если сделать target="_blank", вкладка открывается и тут же закрывается ниче не скачивая. Когда-то давно ковырялся с одним сайтом и там я делал скачивание файла с внешнего ресурса, как будто это внутренний через nginx x-accel-redirect вроде, но это было лет 10 назад, уже все забыл.. Придумать бы что-то такое под apache, чтобы браузер думал, что файл качается напрямую с сайта и не ругался на Mixed Content, не знаете каких-нибудь вариантов?
     
  10. Ботяра

    Забанен

    Joined:
    Oct 10, 2015
    Messages:
    0
    Best Answers:
    54
    Ratings:
    +711 / 74 / -0
    meloff как починил? Он вроде не работал уже несколько лет.

    По смешанному контенту - сайт на https?
     
  11. meloff

    meloff Зелёный

    Joined:
    Oct 5, 2021
    Messages:
    5
    Best Answers:
    0
    Ratings:
    +2 / 0 / -0
    Ну.. хотелось бы
    Пришлось немного в код вникнуть, понять что откуда берется. Так то я не особо разбираюсь, но вроде заработало. Вот мой torrent_rutor.php
    Code:
    <?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_once ENGINE_DIR . '/classes/plugins.class.php';
    
    @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 debug_to_console($data) {
    //     $output = $data;
    //     if (is_array($output))
    //         $output = implode(',', $output);
    
    //     echo "<script>console.log('Debug Objects: " . $output . "' );</script>";
    // }
    
    function UTF8toCP1251($str)
    {
        static $table = array("\xD0\x81" => "\xA8", // Ё
        "\xD1\x91" => "\xB8", // ё
        // украинские символы
        "\xD0\x8E" => "\xA1", // Ў (У)
        "\xD1\x9E" => "\xA2", // ў (у)
        "\xD0\x84" => "\xAA", // Є (Э)
        "\xD0\x87" => "\xAF", // Ї (I..)
        "\xD0\x86" => "\xB2", // I (I)
        "\xD1\x96" => "\xB3", // i (i)
        "\xD1\x94" => "\xBA", // є (э)
        "\xD1\x97" => "\xBF", // ї (i..)
        // чувашские символы
        "\xD3\x90" => "\x8C", // &#1232; (А)
        "\xD3\x96" => "\x8D", // &#1238; (Е)
        "\xD2\xAA" => "\x8E", // &#1194; (С)
        "\xD3\xB2" => "\x8F", // &#1266; (У)
        "\xD3\x91" => "\x9C", // &#1233; (а)
        "\xD3\x97" => "\x9D", // &#1239; (е)
        "\xD2\xAB" => "\x9E", // &#1195; (с)
        "\xD3\xB3" => "\x9F", // &#1267; (у)
        );
        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);
    // debug_to_console($query);
    $linksearch = 'http://37.1.206.162/search/0/0/100/0/'.$query.'';
    // debug_to_console($linksearch);
    $result = dle_cache('rutor_'.md5($query).'',$config['skin']); //Берем данные из кеша если он есть
    if(!$result){ //Если кеша нет - парсим страницу результатов поиска и потом создаем кеш
    
    $result = file_get_contents($linksearch);
    
    // $result = preg_replace('/\t+/', '', $result);
    $result = preg_replace('/\r|\n/', '', $result);
    // $result = UTF8toCP1251($result);
    // echo htmlspecialchars($result);
    
    $resultAll = $result;
    
        $find2 = "";
    
        // echo($result);
    
        $p1 = strpos($result, "<table width=\"100%\"><tr class=\"backgr\">");
        $p2 = strpos($result, "</table><b>Страницы");
        $result = substr($result, $p1, $p2 - $p1);
    
    // debug_to_console($p1);
    // debug_to_console($p2);
    // print($result);
    create_cache('rutor_'.md5($query).'',$result,$config['skin']);} //Создаем кеш если его нет
    
      
    preg_match_all('#<a class="downgif" href="/parse/d.rutor.org/download/(.[0-9]*)"><img src="/kw/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="/kw/t/arrowup.gif" alt="S" />&nbsp;(.[0-9]*)</span>&nbsp;<img src="/kw/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==10)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 .= <<<HTML
    <tr>
    <td><center>{$find['2'][$i]}<a href='http://37.1.206.162/parse/d.rutor.org/download/{$find['1'][$i]}'><img src='/uploads/download.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>
    
    
    HTML;
    
        }
    
    
        if (!$find2 or $find2 == "") {
            $finds = "<p style=\"text-align: center;\"><span style=\"font-size: medium;\"><strong><span style=\"color: #ff0000;\">Внимание:</span></strong> Не удалось найти раздачу, скорее всего материала нет на открытых трекерах! Воспользуйтесь ссылками ниже, и вам обязательно повезет, либо скачайте материал по прямым ссылкам с нашего сайта!</span></p>";
            // $finds = "";
        } else {
            $finds = <<<HTML
                                        <div id='torrents_list'>
                                            <div class='naiden-torrents'>Hайдено раздач: <span id='count'>{$is}</span>  <i id='doreload' class='fa fa-spinner fa-spin' style='display: none;'></i>
                                            </div>
                                            <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>
    
    
    
    HTML;
        }
    
        return ($finds);
    
    
    }
    
    
    $title = trim(strip_tags($_POST['title']));
    
    @header("Content-type: text/html; charset=".$config['charset']);
    echo search_torrent($title);
    
    Тут главное что я preg_replace добавил который вычищает лишние табуляции и переносы, которые есть на этом зеркале, может быть их и нет на оригинальном руторе, но я на локальном хостинге тестирую, а работает у меня без танцев только это зеркало. И в preg_match_all я немножко что-то поменял, т.к. пути файлов не сходились вроде. А и функцию debug_to_console можно убрать, я просто проблемы ей отлавливал (вроде закоментировал все лишнее).
     

    Attached Files:

    #151 meloff, Jun 30, 2022
    Last edited: Jun 30, 2022
    • Нравится Нравится x 2
  12. Олег Lego

    Олег Lego Местный

    Joined:
    May 11, 2020
    Messages:
    2,006
    Best Answers:
    1
    Ratings:
    +492 / 217 / -0
    Вот только всего пришлось менять, да с установкой, да с тегами, да и архив уже потерялся, только пара xml файлов осталась.
    Обновить бы, да уже не помню ничего, где и что вставлять)))
    Нужен новый архив с правками и полной инстрйкцией заново ))
     
  13. Ботяра

    Забанен

    Joined:
    Oct 10, 2015
    Messages:
    0
    Best Answers:
    54
    Ratings:
    +711 / 74 / -0
    просто замени содержимое файла в engine/ajax/, может сработает. У меня не срабатывает на сервере с NL, может рутор его блокировать стал, пока некогда особо разбираться в этом.
     
  14. Alexandr778899

    Alexandr778899 Зелёный

    Joined:
    Mar 27, 2023
    Messages:
    2
    Best Answers:
    0
    Ratings:
    +0 / 0 / -0
    Подскажите как заставить работать скачивание торрентов и поиск раздач. Стоит dle 11.1
    По поиску раздая постоянно идет поиск, а по ссылке на скачивание перекидывает на http://www.stopvirus.link/donow/downloadrutor.php?d3d3LnN0b3B2aXJ1cy5saW5r=916792 (есть код в шаблоне show.full.php, но как его расшифровать я не понял)
     
  15. Олег Lego

    Олег Lego Местный

    Joined:
    May 11, 2020
    Messages:
    2,006
    Best Answers:
    1
    Ratings:
    +492 / 217 / -0
    Что то перестало парсить совсем (.
     
  16. chuvak

    chuvak Бывалый

    Joined:
    Oct 14, 2021
    Messages:
    196
    Best Answers:
    1
    Ratings:
    +60 / 20 / -0
    У рутора бывают мелкие изменения в дизайне
    Скинь модуль, подправлю
     
    #156 chuvak, May 13, 2023
    Last edited: May 13, 2023
  17. Олег Lego

    Олег Lego Местный

    Joined:
    May 11, 2020
    Messages:
    2,006
    Best Answers:
    1
    Ratings:
    +492 / 217 / -0
    Вроде как крайний вариант
     

    Attached Files:

  18. chuvak

    chuvak Бывалый

    Joined:
    Oct 14, 2021
    Messages:
    196
    Best Answers:
    1
    Ratings:
    +60 / 20 / -0
    Проверь, я поправил но не проверил
     

    Attached Files:

  19. Олег Lego

    Олег Lego Местный

    Joined:
    May 11, 2020
    Messages:
    2,006
    Best Answers:
    1
    Ratings:
    +492 / 217 / -0
    Что то не, так же осталось. Пишет, что раздач не нашло. Попозже с аяксом поэксперементирую, там имеет значение, где он.
    Хотя может с источника не отдаёт, может через клауд фильтруется. Если только пробовать замаскироваться под реальный браузер, для запросов.
     
  20. chuvak

    chuvak Бывалый

    Joined:
    Oct 14, 2021
    Messages:
    196
    Best Answers:
    1
    Ratings:
    +60 / 20 / -0
    Я думаю проблема в preg_match_all, проверить нет возможности, делаю на глаз, попробуй так
    забыл в ссылках http удалить
     

    Attached Files:

    • Нравится Нравится x 1
    • Лучший Лучший x 1
Яндекс.Метрика