Иконка ресурса

NextGen Парсер раздач v1.7.0

belomaxorka

Разработчик
Администратор
belomaxorka добавил(а) новый ресурс:

NextGen Парсер раздач - Многофункциональный парсер раздач по ссылке.

Описание: Парсер раздач по ссылке. Код парсера написан очень хорошо и добавление новых парсеров делается очень просто (посмотрите код и поймете).
Совместимость: все версии движка.

Достоинства:
  • Имеется поддержка трекеров с авторизацией
  • Имеется система прав доступа к парсеру (см. конфиг)
  • Имеется встроенная поддержка плеера BBCode: Фильм по ID
  • Легко расширяется новым функционалом...

Узнать больше об этом ресурсе...
 

belomaxorka

Разработчик
Администратор
Инструкция по установке парсера на TorrentPier Cattle

Открыть файл library/includes/parser/functions.php и найти:
PHP:
// Раскомментировать для версий v2.4.0 и выше
Строчки ниже раскомментируйте:

PHP:
// $tor = \Arokettu\Bencode\Bencode::decode($torrent, dictType: \Arokettu\Bencode\Bencode\Collection::ARRAY);
// $info_hash = pack('H*', sha1(\Arokettu\Bencode\Bencode::encode($tor['info'])));
 

belomaxorka

Разработчик
Администратор

belomaxorka

Разработчик
Администратор
Как добавить второй трекер? Есть настройки для парсинга трекера с движком TP?
Есть настройки, но всё отсносительно, даже на одном движке. Ниже примерные настройки для движка TorrentPier v2.1.4 и выше.

Примерно так:
PHP:
'имя трекера' => array(
    'enabled' => true,
    'auth' => true,
    'regex' => "/http:\/\/тут адрес.ru\/viewtopic.php\?t=/",
    'login_url' => 'http://тут адрес.ru/login.php',
    'dl_url' => 'http://тут адрес.ru/dl.php?id=',
    'login_input_name' => 'login_username',
    'password_input_name' => 'login_password',
    'target_element' => '<p class="small">',
),
Это добавить в массив $trackers в файле release.php

PHP:
'имя трекера' => array('login' => '', 'pass' => ''),
Это добавить в
'auth' => array() в конфиге находится

Создать файл с названием 'имя трекера.php' в library/includes/parser/
Примерно с таким содержимым:
PHP:
<?php
/**
 * --------------------------------------------------------
 * Парсер раздач. Специально для TorrentPier
 *
 * @link https://torrentpier.com/
 * @license MIT License
 * @author Участники torrentpier.com, Ральф, belomaxorka
 * --------------------------------------------------------
 */

if (!defined('BB_ROOT')) die(basename(__FILE__));

function имя трекера($text)
{
    // ------------------- Get title -------------------
    preg_match("#<title>([\s\S]*?) ::.*?</title>#", $text, $matches);
    $title = $matches[1];

    // ------------------- Get download link -------------------
    preg_match('#<a href="dl.php\?id=(.*?)" class="genmed">#', $text, $matches);
    $torrent = $matches[1];

    // ------------------- Get content -------------------
    $pos = strpos($text, '<span id="pp_');
    $text = substr($text, $pos);
    $pos = strpos($text, '<div id="pc_');
    $text = substr($text, 0, $pos);
    $text = preg_replace('/<span id="pp_.*?">/', '', $text);

    $text = str_replace('<div class="c-wrap">', '', $text);
    $text = str_replace('<div class="q-wrap">', '', $text);
    $text = str_replace('<ul>', '[list]', $text);
    $text = str_replace('</ul>', '[/list]', $text);
    $text = str_replace('<li>', "\n[*]", $text);
    $text = str_replace('<span class="post-hr">-</span>', "[hr]", $text);
    $text = str_replace('<span class="post-br"><br /></span>', "[br]", $text);
    $text = preg_replace('/<span class="post-b">([^<]*?)<(?=\/)\/span>/', '[b]$1[/b]', $text);
    $text = preg_replace('/<span class="post-u">([^<]*?)<(?=\/)\/span>/', '[u]$1[/u]', $text);
    $text = preg_replace('/<span class="post-i">([^<]*?)<(?=\/)\/span>/', '[i]$1[/i]', $text);
    $text = preg_replace('/<span class="post-s">([^<]*?)<(?=\/)\/span>/', '[s]$1[/s]', $text);
    // ниже ваши регулярные выражения, замены и прочее...

    return array(
        'title' => $title,
        'torrent' => $torrent,
        'content' => strip_tags(html_entity_decode($text))
    );
}

Данный код прекрасно спарсил тестовую раздачу с демо сайта. Результат точь в точь.
 
Последнее редактирование:

belomaxorka

Разработчик
Администратор
Как добавить второй трекер? Есть настройки для парсинга трекера с движком TP?
Если напишите свой парсер с какого-либо ресурса, то пожалуйста опубликуйте его как дополнение к моду, или скиньте тут с инструкцией на примере той что выше.
 

belomaxorka

Разработчик
Администратор
belomaxorka обновил(а) ресурс NextGen Парсер раздач новой записью:

Обновление v1.1.1

  • Небольшие улучшения инструкции
  • Исправлена небольшая ошибка в работе системы прав доступа
  • В настройки добавлена секция для полноценной настройки прокси соединения

Узнать больше об этом обновлении...
 

Pole

Пользователь
belomaxorka, можете показать код для парсинга torrentpier.duckdns.org, тот что выше не работает. Не могу спарсить тестовую раздачу.

Ошибка Не удается получить торрент-файл. Вот ID:
 

belomaxorka

Разработчик
Администратор
Есть настройки, но всё отсносительно, даже на одном движке. Ниже примерные настройки для движка TorrentPier v2.1.4 и выше.

Примерно так:
PHP:
'имя трекера' => array(
    'enabled' => true,
    'auth' => true,
    'regex' => "/http:\/\/тут адрес.ru\/viewtopic.php\?t=/",
    'login_url' => 'http://тут адрес.ru/login.php',
    'dl_url' => 'http://тут адрес.ru/dl.php?id=',
    'login_input_name' => 'login_username',
    'password_input_name' => 'login_password',
    'target_element' => '<p class="small">',
),
Это добавить в массив $trackers в файле release.php

PHP:
'имя трекера' => array('login' => '', 'pass' => ''),
Это добавить в
'auth' => array() в конфиге находится

Создать файл с названием 'имя трекера.php' в library/includes/parser/
Примерно с таким содержимым:
PHP:
<?php
/**
 * --------------------------------------------------------
 * Парсер раздач. Специально для TorrentPier
 *
 * @link https://torrentpier.com/
 * @license MIT License
 * @author Участники torrentpier.com, Ральф, belomaxorka
 * --------------------------------------------------------
 */

if (!defined('BB_ROOT')) die(basename(__FILE__));

function имя трекера($text)
{
    // ------------------- Get title -------------------
    preg_match("#<title>([\s\S]*?) ::.*?</title>#", $text, $matches);
    $title = $matches[1];

    // ------------------- Get download link -------------------
    preg_match('#<a href="dl.php\?id=(.*?)" class="genmed">#', $text, $matches);
    $torrent = $matches[1];

    // ------------------- Get content -------------------
    $pos = strpos($text, '<span id="pp_');
    $text = substr($text, $pos);
    $pos = strpos($text, '<div id="pc_');
    $text = substr($text, 0, $pos);
    $text = preg_replace('/<span id="pp_.*?">/', '', $text);

    $text = str_replace('<div class="c-wrap">', '', $text);
    $text = str_replace('<div class="q-wrap">', '', $text);
    $text = str_replace('<ul>', '[list]', $text);
    $text = str_replace('</ul>', '[/list]', $text);
    $text = str_replace('<li>', "\n[*]", $text);
    $text = str_replace('<span class="post-hr">-</span>', "[hr]", $text);
    $text = str_replace('<span class="post-br"><br /></span>', "[br]", $text);
    $text = preg_replace('/<span class="post-b">([^<]*?)<(?=\/)\/span>/', '[b]$1[/b]', $text);
    $text = preg_replace('/<span class="post-u">([^<]*?)<(?=\/)\/span>/', '[u]$1[/u]', $text);
    $text = preg_replace('/<span class="post-i">([^<]*?)<(?=\/)\/span>/', '[i]$1[/i]', $text);
    $text = preg_replace('/<span class="post-s">([^<]*?)<(?=\/)\/span>/', '[s]$1[/s]', $text);
    // ниже ваши регулярные выражения, замены и прочее...

    return array(
        'title' => $title,
        'torrent' => $torrent,
        'content' => strip_tags(html_entity_decode($text))
    );
}

Данный код прекрасно спарсил тестовую раздачу с демо сайта. Результат точь в точь.
Вот, сделаете как тут. У меня этот код работает
 
Последнее редактирование:
Сверху