Универсальный парсер

Универсальный парсер 0.7.2

Нет прав для скачивания

Gaus111

Пользователь
Вот понятней не куда перевел на русский инсталляцию парсера !:unsure:
PHP:
PHP:

##############################################################
## MOD Title: ParserMod
## MOD Author: Lektor
## MOD Описание: Этот мод добавит функцию для получения bccode с html-страниц некоторых сайтов, что поможет скопировать выпуски из других мест.
##                 
## MOD Version: 0.7.2
##
## Уровень установки: простой
## Время установки: 5 минут
## Файлы для редактирования: 4
##                ajax.php,
##                posting.php,
##                library/language/ru/main.php,
##                styles/templates/default/posting.tpl
## Included Files: 8
##                library/ajax/parser.php
##          library/includes/functions_parser.php
##                styles/templates/default/images/p/nnm-club.ico
##                styles/templates/default/images/p/rutor.ico
##                styles/templates/default/images/p/rutracker.ico
##                admin/admin_pars_cfg.php
##                styles/templates/admin/admin_pars_cfg.tpl
##                data/cookies/.htaccess
##
## Лицензия: http://opensource.org/licenses/gpl-license.php GNU General Public License, версия 3.0 (GPLv3)
##############################################################
## В целях безопасности, пожалуйста, проверьте: http://www.bittorrentua.com
## для последней версии этого MOD.
##############################################################
##Примечания автора:
##
##############################################################
## MOD History:
##   2015-01-15 - Version 0.5.0
##          - First Release
##
##   2015-01-17 - Version 0.6.1
##          - fix minor bugs
##          - Add a possibility to copy the torrents from the rutracker
##          - add module's settings to admin panel
##
##   2015-02-21 - Version 0.7.2
##          - fix bugs with downloading torrents and etc.
##          - Add parser menu which gives you the possibility to choose download a torrent file or not, to preview a post or not
##          - add possibility of parsing www.rutor.org, nnm-club.me
##
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################
##
#
#-----[ Копировать ]------------------------------------------
#
copy library/ajax/parser.php to library/ajax/parser.php
copy library/includes/functions_parser.php to library/includes/functions_parser.php
copy styles/templates/default/images/p/nnm-club.ico to styles/templates/default/images/p/nnm-club.ico
copy styles/templates/default/images/p/rutor.ico to styles/templates/default/images/p/rutor.ico
copy styles/templates/default/images/p/rutracker.ico to styles/templates/default/images/p/rutracker.ico
copy admin/admin_pars_cfg.php to admin/admin_pars_cfg.php
copy styles/templates/admin/admin_pars_cfg.tpl to styles/templates/admin/admin_pars_cfg.tpl
copy data/cookies/.htaccess to data/cookies/.htaccess

#
#-----[ SQL зделать запрос в БД]------------------------------------------
#
INSERT INTO `bb_config` (`config_name`, `config_value`) VALUES
('parsmod_disable', '0'),
('parsmod_rutracker_login', ''),
('parsmod_nnm_login', ''),
('parsmod_nnm_password', ''),
('parsmod_rutracker_password', '');

#
#-----[ Открыть фаил ]------------------------------------------
#
ajax.php

#
#-----[ Найти ]------------------------------------------
#
        require(CLASS_DIR .'sitemap.php');
        break;

#
#-----[ ПОСЛЕ, ДОБАВИТЬ ]------------------------------------------
#
    case 'pars':
        require(INC_DIR . 'functions_parser.php');
        break;

#
#-----[ Найти ]------------------------------------------
#
        'manage_group'      => array('user'),

#
#-----[ ПОСЛЕ ДОБАВИТЬ ]------------------------------------------
#
        'pars'            => array('user'),

#
#-----[ Найти ]------------------------------------------
#
        require(AJAX_DIR . 'edit_group_profile.php');
    }

#
#-----[ ПОСЛЕ ДОБАВИТЬ ]------------------------------------------
#
    function pars()
    {
        require(AJAX_DIR . 'parser.php');
    }
    

#
#-----[ Открыть файл ]------------------------------------------
#
posting.php

#
#-----[ Найти ]------------------------------------------
#
if ($mode == 'newtopic' || $post_data['first_post'])
{
    $template->assign_var('POSTING_SUBJECT');
}

#
#-----[ ПОСЛЕ ДОБАВИТЬ ]------------------------------------------
#
if (!$bb_cfg['parsmod_disable'] && ($mode == 'newtopic' || $post_data['first_post']))
{
    $template->assign_var('PARSMOD_ON');
}

#
#-----[ Открыть ]------------------------------------------
#
library/language/ru/main.php

#
#-----[ Найти ]---------------------------------
#
$lang['CAPTCHA_WRONG'] = 'Вы не смогли подтвердить, что вы не робот';

#
#-----[ ПОСЛЕ ДОБАВИТЬ ]---------------------------------
#
//PARS
$lang['PARS_NEW_RELEASE'] = 'Скопировать готовое оформление релиза';
$lang['PARS_ALLOWED_SOURCES'] = 'Поддерживаемые источники';
$lang['PARS_RUTRACKER_SOURCES'] = 'Rutracker';
$lang['PARS_NNM_SOURCES'] = 'NNM-Club';
$lang['PARS_RUTOR_SOURCES'] = 'Rutor';

$lang['PARS_IN_NEXT_VERSION'] = 'В следующей версии';
$lang['PARS_SOURCE'] = 'Источник';
$lang['PARS_PASTE_SOURCE_URL'] = 'Вставьте ссылку на тему с релизом...';
$lang['PARS_NO_URL'] = 'Вставьте ссылку на релиз';
$lang['PARS_NOT_ALLOWED_SOURCES'] = 'С указанным источником не умею работать';
$lang['PARS_NO_WORK'] = 'Использование мода запрещено администратором.';
$lang['PARS_CONFIG'] = 'Настройки ParsMod';
$lang['PARS_CONFIG_DESC'] = 'Эта форма позволит вам изменить общие настройки мода, а также ввести логины/пароли к учетным записям трекеров, с которых будут парситься торрент файлы.';
$lang['PARS_GENERAL_SETTINGS'] = 'Общие настройки мода';
$lang['PARS_DISABLE_MOD'] = 'Отключить мод';
$lang['PARS_DISABLE_MOD_DESC'] = 'Использование мода станет не доступным.';
$lang['PARS_RUTRACKER'] = 'Настройки для Rutracker';
$lang['PARS_NNM'] = 'Настройки для NNM-Club';
$lang['PARS_LOGIN'] = 'Логин';
$lang['PARS_PASS'] = 'Пароль';
$lang['CLICK_RETURN_PARS_CFG'] = '%sВернуться к  настройкам ParsMod%s';

$lang['PARS_OPT'] = 'Опции';
$lang['PARS_OPT_TITLE'] = 'Опции парсера';
$lang['PARS_OPT_TOR'] = '.torrent';
$lang['PARS_OPT_DWNLD'] = 'Скачать .torrent из источника';
$lang['PARS_OPT_NO_DWNLD'] = 'Не скачивать .torrent из источника';
$lang['PARS_OPT_VIEW'] = 'Опции просмотра';
$lang['PARS_OPT_NO_VIEW'] = 'Без просмотра';
$lang['PARS_OPT_QVIEW'] = 'Быстрый просмотр';
$lang['PARS_OPT_PREVIEW'] = 'Предварительный просмотр';
$lang['PARS_OPT_POST'] = 'Сразу создавать топик';

#
#-----[ Открыть ]---------------------------------
#
styles/templates/default/posting.tpl


#
#-----[ Найти ]---------------------------------
#
<div class="spacer_12"></div>

#
#-----[ ДОБАВИТЬ ПЕРД НАЙДЕНОЙ СТРАКОЙ ]---------------------------------
#
<div class="menu-sub" id="pars-opt">
    <table cellspacing="1" cellpadding="4">
    <tr><th>{L_PARS_OPT_TITLE}</th></tr>
    <tr><td>
        <fieldset id="p_tor">
        <legend>{L_PARS_OPT_TOR}</legend>
            <div class="pad_4">
            <label><input id="dwnld_tor" name="pars_tor" type="checkbox" <!-- IF DOWNLOAD_TORRENT_ON -->{CHECKED}<!-- ENDIF -->
                    onclick="return checkmeman(this, {DOWNLOAD_TORRENT});" />{L_PARS_OPT_DWNLD}
            </label><label>
                <input id="not_dwnld_tor" name="pars_tor" type="checkbox" <!-- IF NOT_DOWNLOAD_TORRENT_ON -->{CHECKED}<!-- ENDIF -->
                    onclick="return checkmeman(this, {NOT_DOWNLOAD_TORRENT});" />{L_PARS_OPT_NO_DWNLD}
            </label></div>
        </fieldset>
        <fieldset id="p_view">
        <legend>{L_PARS_OPT_VIEW}</legend>
            <div class="pad_4">
            <label>
                <input id="p_no_view" name="pars_view" type="checkbox" <!-- IF PARS_NO_VIEW_ON -->{CHECKED}<!-- ENDIF -->
                    onclick="return checkmeman(this, {PARS_NO_VIEW});" />{L_PARS_OPT_NO_VIEW}
            </label><label>
                <input id="p_view_mess" name="pars_view" type="checkbox" <!-- IF PARS_VIEW_MESSAGE_ON -->{CHECKED}<!-- ENDIF -->
                    onclick="return checkmeman(this, {PARS_VIEW_MESSAGE});" />{L_PARS_OPT_QVIEW}
            </label><label>
                <input id="p_preview_mess" name="pars_view" type="checkbox" <!-- IF PARS_PREVIEW_MESSAGE_ON -->{CHECKED}<!-- ENDIF -->
                        onclick="return checkmeman(this, {PARS_PREVIEW_MESSAGE});" />{L_PARS_OPT_PREVIEW}
            </label><label>
                <input id="p_post_topic" name="pars_view" type="checkbox" <!-- IF PARS_POST_TOPIC_ON -->{CHECKED}<!-- ENDIF -->
                        onclick="return checkmeman(this, {PARS_POST_TOPIC});" />{L_PARS_OPT_POST}
            </label></div>
            </fieldset>
    </td></tr>
    </table>
</div>

#
#-----[ Найти ]---------------------------------
#
<tr>
    <th colspan="2" class="thHead"><b>{POSTING_TYPE_TITLE}</b></th>

#
#-----[ ДОБАВИТЬ ПЕРД НАЙДЕНОЙ СТРАКОЙ ]---------------------------------
#
<!-- IF PARSMOD_ON -->
<tbody class="pad_4">
<tr>
    <th colspan="2" class="thHead"><b>{L_PARS_NEW_RELEASE}</b><div class="floatR med bold"><a class="menu-root" style="color:white;" href="#pars-opt">{L_PARS_OPT}</a></div></th>
</tr>
<tr>
    <td style="vertical-align:top;">
        <div title="{L_PARS_ALLOWED_SOURCES}" style="float: right;vertical-align:top;">
            <img src="./styles/templates/default/images/p/rutracker.ico" alt="Rutracker" title="{L_PARS_RUTRACKER_SOURCES}">
            <img src="./styles/templates/default/images/p/nnm-club.ico" alt="nnm-club" title="{L_PARS_NNM_SOURCES}">
            <img src="./styles/templates/default/images/p/rutor.ico" alt="Rutor" title="{L_PARS_RUTOR_SOURCES}"><br>
        </div>
        <b>{L_PARS_SOURCE}</b> <br>
    </td>
    <td>
        <input id="release_url" type="url" size=60 placeholder="{l_PARS_PASTE_SOURCE_URL}"> <input type="button" value="{L_SUBMIT}" name="Send" id="pars">

 
    <div id="hida"></div>
    </td>


</tr>
<script type="text/javascript">

function checkmeman(e, val){
    var ptag = $(e).attr('name');
    user.set(ptag, ( $(e).is(":checked") ? val : 0 ), 365, false);
    $("input[name="+ptag+"]:checked").attr('checked',  false);
    $(e).attr('checked', true);
}

$('#pars').click(function(){
var fileid = [0,0];
var gettorrent = (($( "input[name='pars_tor']:checked" ).attr('id')) == 'dwnld_tor') ? 1:0;
var filename = $(".gen:contains('torrent')" ).text();
var mode = $("input[name|=mode]" ).val();

if (filename && gettorrent  && mode == 'editpost') gettorrent = confirm("Перезаписать торрент?")? 1:0;
if (filename && gettorrent) {
    var attach_url = $("a:contains("+filename+")").attr('href');
    if (fileid = attach_url.match(/dl\.php\?id=(\d+)/)) {
            var tmp_str = $("input[name|='update_attachment["+fileid[1]+"]']" ).next("input" ).attr("name");
            var phys_name = tmp_str.match(/del_attachment\[(.*)\]/);
            $( "input[value|='"+fileid[1]+"']" ).remove();
    }else{
                var phys_name = attach_url.match(/.*\/(.*)/);
        var fileid = [0,0];
    }

        $( "input[value|='"+filename+"']" ).remove();
        $( "input[value|='"+phys_name[1]+"']" ).remove();
        $("a:contains("+filename+")").attr({href:" "});
    $("a:contains("+filename+")").text('  ');
}

ajax.exec({action: 'pars', pars_url: $('#release_url').val(), gettorrent:gettorrent, tor_id:fileid[1]});
    ajax.callback.pars = function(data) {
        $( "#hida" ).html(data.hid);
        $( "input[name='subject']" ).val(data.title);
        $('textarea#message').val(data.bbcode)
        var p_view = $("input[name='pars_view']:checked").attr('id');
        switch (p_view) {
          case 'p_view_mess': ajax.exec({ action: 'posts', type: 'view_message', message: $('textarea#message').val()});break
          case 'p_preview_mess': $('#post-preview-btn').click();break
          case 'p_post_topic': $('#post-submit-btn').click();break
        }
    };
});

</script>
<!-- ENDIF -->

#
#-----[ СОХРАНИТЕ ЗАКРЫТЬ ВСЕ ФАЙЛЫ]------------------------------------------
#
# EoM
 

Бандерас

Пользователь
А как парсеть трекер от ТР.2.1.5???
Есть два трекера (Торрентпиер 2.1.5) с разными серверами и доменами.
Не нашел что то такое в поиске. Пробовал просто сменить ссылки у данного мода, что то не получилось ничего...
Может есть у кого то что то подобное?
 

Бандерас

Пользователь
хоть даже движок одинаковый (например, ТР.2.1.5), то от этого не зависит... а зависит от ссылок трекера (странно звучит)
 

K15

Пользователь
кто знает как обходить рутор в парсере? а то не парсить когда нажимаю отправить стоит и всё?
как можно ставить прокси к парсеру?
 

K15

Пользователь
теперь сработало но не берет торрент файл с рутора как исправить помогите пожалуйста вот скриншот.
Снимок.PNG
Сам код торрент-файла
заменил на этого
preg_match ("#<a href=\"(http:\/\/d\.rutor\.info\/download\/\d+)\"#si", $copy_page, $r_torrent);
раньше было так
preg_match ("#<a href=\"(http:\/\/d\.rutor\.org\/download\/\d+)\"#si", $copy_page, $r_torrent);
 
Последнее редактирование:
Сверху