Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Контекстные ссылки и все, что с ними связано (http://forum.sape.ru/forumdisplay.php?f=28)
-   -   Контекстные ссылки в движках на Perl - тестируем модуль! (http://forum.sape.ru/showthread.php?t=11894)

uncia 12.10.2009 04:10

Meneldor, так и сделал, вроде работает.
Еще вопрос. Контекстный код размещен более чем на 2700 страницах, но система нашла только 32...

Meneldor 12.10.2009 08:31

А вот с этим вопрос уже в официальный саппорт САПЕ - новые страницы собирает индексатор САПЕ, и по какому принципу он по ним ходит - мне самому совершенно непонятно :).

sinja 31.03.2010 21:17

Изменил скрипт
 
Цитата:

Сообщение от sinja (Сообщение 772081)
Установил код:
http://www.expoweb.ru/mail_archieve/...azdel=onlinebd
В страницу ничего не возвращается, даже проверочного кода даже для блока ссылок.
Скрипт прилагается. В странице стоит метка %%SAPE_CONTEXT%% сразу после текста сообщения.
Должен вывестись весь текст, который передается в $msg повторно с кодом проверки?

Я поменял скрипт, вставил функцию:
$hash{msg} = $sape_context->replace_in_page_text($hash{msg});
Текст возвращается, но нет кода-идентификатора (в том числе для блока ссылок), он должен быть или нет? Как проверить, работает ли вывод ссылок?

sinja 02.04.2010 09:50

Код для вызова из перлового скрипта блока ссылок и контекстных ссылок вместе
 
Цитата:

Сообщение от sinja (Сообщение 772131)
Я поменял скрипт, вставил функцию:
$hash{msg} = $sape_context->replace_in_page_text($hash{msg});
Текст возвращается, но нет кода-идентификатора (в том числе для блока ссылок), он должен быть или нет? Как проверить, работает ли вывод ссылок?

Разобрался :cool:
Код для вызова из перлового скрипта блока ссылок и контекстных ссылок вместе, используя новый скрипт для Perl:

require "/корень сайта/индентификатор/SAPEnew.pm";
my $sape = new SAPE::Client(
user => 'индентификатор',
db_dir => '/корень сайта/индентификатор',
force_show_code => '1',
);
$hash{'SAPE_LINKS'} = $sape->return_links;

my $sape_context = new SAPE::Context(

user => 'индентификатор',
db_dir => '/корень сайта/индентификатор',
force_show_code => '1',
);

Далее в коде, где передается страница msg, для обработки страницы я использую функцию:
$hash{msg} = $sape_context->replace_in_page_text($hash{msg});

Проверенно, работает.

__Виктор__ 25.05.2010 19:48

помогите кто может... что-то не получается...

код примерно такой... но не получается ни контекстные ссылки ни обычные вставить... теги <sape_index>...</sape_index> выводятся, но система не видит и не индексит...


# блок подготовки ссылок SAPE
"$ENV{DOCUMENT_ROOT}/идентификатор/SAPE.pm" =~ /^(.+)$/;
require $1;
my $sape = new SAPE::Client(
user => 'идентификатор',
host => 'www.omar.ru', # необязательно, по умолчанию: $ENV{HTTP_HOST}
charset => 'windows-1251', # необязательно, по умолчанию: windows-1251
db_dir => '$ENV{DOCUMENT_ROOT}/идентификатор',
force_show_code => '1',
);
$sapetmp = $sape->get_links;
$HTML{'links_sape'} = "$sapetmp";
my $sape_context = new SAPE::Context (
user => 'идентификатор',
host => 'www.omar.ru', # необязательно, по умолчанию: $ENV{HTTP_HOST}
charset => 'windows-1251', # необязательно, по умолчанию: windows-1251
db_dir => '$ENV{DOCUMENT_ROOT}/идентификатор',
force_show_code => '1',
);
# end блок подготовки ссылок SAPE




my $text_ = $SQL_result->{BODY};
$text_ = $sape_context->replace_in_text_segment($text_);

..........................

$HTML{'BODY'} = $text_;

..........................


my $parse_result = parse($filename);
print $parse_result;

в $filename - шаблон, в котором BODY и links_sape подставляются...

oleantus 11.09.2011 17:37

На всякий случай, может кому-то пригодится. Столкнулся с такой проблемой. Сайт находится на корпоративном веб-сервере, который имеет выход в Интернет только через корпоративный прокси-сервер. Чтобы все работало через прокси необходимо в конструкторе SAPE::Client или Sape::Context передавать дополнительно параметр proxy => http://ваш_прокси:порт. А в коде модуля Sape.pm добавить одну строчку, которая выделена в следующем коде:

my $ua = LWP::UserAgent->new;
$ua->agent($self->USER_AGENT . ' ' . $VERSION);
$ua->timeout($self->{socket_timeout});
#Добавлено мной !!!!!!!!!!!!!!!!!!!!
$ua->proxy('http', $self->{proxy}) if($self->{proxy});
#Добавлено мной !!!!!!!!!!!!!!!!!!!!
my $data_raw;
my $path = $self->_get_dispenser_path;

alexbyk 09.07.2012 14:47

Написал модуль Sape для одного Perl фреймворка. Не могли бы вы дать описание куда какой запрос делать, как его переваривать - хочу добавить эту функциональность в нем?... А то изучать исходный код отнимает слишком много времени.

Meneldor 09.07.2012 14:58

Цитата:

Сообщение от alexbyk (Сообщение 1256126)
Написал модуль Sape для одного Perl фреймворка. Не могли бы вы дать описание куда какой запрос делать, как его переваривать - хочу добавить эту функциональность в нем?... А то изучать исходный код отнимает слишком много времени.

Не совсем понял вопрос. Вы хотите повторить функционал модуля где-то ещё? Почему бы не использовать сам модуль, раз он уже готов?

alexbyk 09.07.2012 16:06

Цитата:

Сообщение от Meneldor (Сообщение 1256130)
Не совсем понял вопрос. Вы хотите повторить функционал модуля где-то ещё? Почему бы не использовать сам модуль, раз он уже готов?

Не то чтобы использовать функционал модуля, а вообще написать модуль со схожим функционалом. В общем написать плагин для Mojolicious, а тот что в сапе для этих целей не подойдет.

Было бы хорошо если бы где-то можно было почитать, что где берется и и т.д. В каком виде можно данные забрать с сервера... А то чтобы написать плагин для обычных ссылок, мне пришлось добавить сайт, подождать пока кто-то что-то купит, потом посмотреть что отвечает сервер - в общем методом тыка долго очень.

Meneldor 09.07.2012 16:37

А чем не подойдёт тот, что в Сапе? Любопытно ).

alexbyk 10.07.2012 08:33

Цитата:

Сообщение от Meneldor (Сообщение 1256154)
А чем не подойдёт тот, что в Сапе? Любопытно ).

В сапе сейчас блокирующий интерфейс. А мне нужен интерфейс без блокировок.

Может быть есть тесты для модуля по которым можно все воспроизвести? А лучше примеры разных результатов dispenser-01.sape.ru/code.php?user=&host=&as_xml=true&charset=utf-8 или где там брать данные

Meneldor 10.07.2012 13:02

Цитата:

Сообщение от alexbyk (Сообщение 1256343)
В сапе сейчас блокирующий интерфейс. А мне нужен интерфейс без блокировок.

Может быть есть тесты для модуля по которым можно все воспроизвести? А лучше примеры разных результатов dispenser-01.sape.ru/code.php?user=&host=&as_xml=true&charset=utf-8 или где там брать данные

Есть только исходный код модуля, вполне хорошо читаемый глазом. Ну и support@sape.ru, которые могут дать контакты разработчиков САПЕ.

alexbyk 10.07.2012 13:33

Ааа, сори, только щас всю тему перечитал. Я думал вы сотрудник Сапы

jo937 28.07.2012 15:54

У меня сайт на CMS написал на Perl. я скачал папку с sape.pm закинул в корень сайт, поставил атрибут на папку 777. а вот код для страницы у меня не работает, просто отображается текстом на странице, и не выполняется.как правильно надо настроить код на странице html?

alexbyk 28.07.2012 17:22

Цитата:

Сообщение от jo937 (Сообщение 1261079)
У меня сайт на CMS написал на Perl. я скачал папку с sape.pm закинул в корень сайт, поставил атрибут на папку 777. а вот код для страницы у меня не работает, просто отображается текстом на странице, и не выполняется.как правильно надо настроить код на странице html?

А что за CMS. Полагаю, с этим вопросом нужно обратиться к ее разработчикам, так как есть вероятность, что установить его самостоятельно вам не удастся

jo937 28.07.2012 17:34

хм.точно не скажу. а тут файлы выкладывать нельзя??? а давайте я сейчас сюда код страницы главной опубликую, там сами всё поймёте, она не сложная.
а вот этот код я хочу внедртить
"$ENV{DOCUMENT_ROOT}/******************/SAPE.pm" =~ /^(.+)$/;
require $1;
my $sape = new SAPE::Client(
user => '****************************',
host => '<ИМЯ_ХОСТА>', # необязательно, по умолчанию: $ENV{HTTP_HOST}
charset => 'windows-1251', # необязательно, по умолчанию: windows-1251
);
print $sape->get_links;

а это код страницы
<HTML><HEAD>
<TITLE>Доска объявлений "Кипит работа" - система поиска надомной работы. Бесплатное размещение объявлений о работе на дому. Резюме, вакансии, предложения.</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<meta name="author" content="КИПИТРАБОТА.РФ">
<meta name="generator" content="DOGEN zinet.ru">
<meta name="description" content="Доска объявлений о работе на дому КИПИТ РАБОТА РФ - модерируемые публикации наиболее выгодных предложений. Вакансии, резюме, коммерческие предложения.">
<meta name="keywords" content="доска объявлений КИПИТ РАБОТА РФ работа на дому надомная поиск вакансия">
<link rel="SHORTCUT ICON" href="<!--SERV_ADDR-->ico.ico">
<link rel="stylesheet" type="text/css" href="<!--SERV_ADDR-->style.css">
</HEAD>
<body bgcolor="#ffffff" text="#000000" link="#9400D3" alink="#000099" vlink="#1E90FF" leftmargin="12" topmargin="0" marginwidth="12" marginheight="0" rightmargin="12" bottommargin="0">

<body bgcolor=white>




<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr>
<td>
<IMG SRC="<!--SERV_ADDR-->logo.gif" WIDTH=1055 HEIGHT=60 BORDER=0>
</td>
<td align=center class=ub>&nbsp;
</td>
</tr>
</tab

<div id="PC_Teaser_Block_60380" class="PC_TBlock">загрузка...</div>

<!--s_links--><!--check code--><!--/s_links-->

</td>

<td>



<STRONG>
&nbsp;&nbsp;&nbsp;Здесь могла быть ваша реклама ( очень дёшево)<br><br>
<script src="/bookmarks/book.js" type="text/javascript"></script><noscript><a href="http://кипитработа.рф"><img src="/bookmarks/button.gif" width="136" height="40" alt="КИПИТРАБОТА.РФ" border="0"></a></noscript>

&nbsp;&nbsp;&nbsp;реклама

</STRONG>



</td>

</tr>
</table>


<h1>Доска БЕСПЛАТНЫХ объявлений о работе на дому "КИПИТРАБОТА.РФ". Просмотр рубрик.</h1>


<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr>
<td class=path align=right><a href="<!--HADD_ADDR-->" class=ns>Добавить объявление</a></td>
</tr>
</table>




<table width="100%" border=0 cellspacing=0 cellpadding=21>
<tr>
</td><td valign="top" class=left-column><IMG SRC="<!--SERV_ADDR-->logotip.gif">
<td valign="top" width="33%" class=ind>

<!--RUB_LIST1-->

</td><td valign="top" width="33%" class=ind>

<!--RUB_LIST2-->

</td><td valign="top" width="33%" class=ind>

<!--RUB_LIST3-->

</td>
</td><td >

</td>

</tr>
</table>
<BR>
<hr size=5 noshade>
<center>
РЕКЛАМНЫЙ БЛОК
</center>
<BR>
<hr size=5 noshade>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr>
<td class=path>
<table border=0 cellspacing=0 cellpadding=0>
<tr>
<td><nobr>&copy; <a href="<!--SERV_ADDR-->">www.кипитработа.рф - система поиска работы на дому</a> 2012 г. | <a href="https://manager.host-food.ru/">Хостинг для нашего сайта предоставлен Host-food</a></nobr>

<br><br>
Портал "Кипит работа" -частный некоммерческий сайт, созданный для предложения и поиска удаленной и надомной работы. Все объявления на сайте публикуются бесплатно, являются узкотематическими и обязательно проходят модерацию.
<br><br>

<br><br><!--LiveInternet counter--><script type="text/javascript"><!--
document.write("<a href='http://www.liveinternet.ru/click' "+
"target=_blank><img src='//counter.yadro.ru/hit?t21.6;r"+
escape(document.referrer)+((typeof(screen)=="undef ined")?"":
";s"+screen.width+"*"+screen.height+"*"+(screen.co lorDepth?
screen.colorDepth:screen.pixelDepth))+";u"+escape( document.URL)+
";"+Math.random()+
"' alt='' title='LiveInternet: показано число просмотров за 24"+
" часа, посетителей за 24 часа и за сегодня' "+
"border='0' width='88' height='31'><\/a>")
//--></script><!--/LiveInternet--><br><br>






</td>
</tr>
</table>
</td>
<td class=path align=right>
<nobr>
<!-- begin of Top100 code -->

<script id="top100Counter" type="text/javascript" src="http://counter.rambler.ru/top100.jcn?2745685"></script>
<noscript>
<a href="http://top100.rambler.ru/navi/2745685/">
<img src="http://counter.rambler.ru/top100.cnt?2745685" alt="Rambler's Top100" border="0" />
</a>

</noscript>
<!-- end of Top100 code -->
&nbsp;</nobr></td>
</tr>
</table>

<!-- котрольный загрузчик для рекламодателей mixmarket.biz Микс-Юни -->

<!-- YaMetrics begin -->

<!-- /Yandex.Metrika counter -->

<script type="text/javascript">var PC_CId = 60380;</script>
<script type="text/javascript" src="http://st.pc.adonweb.ru/js/adv_out.js"></script>

</BODY></HTML>

Добавлено через 1 минуту
надо мне это код в неё внедрить и что бы он работать начал естествкенно
"$ENV{DOCUMENT_ROOT}/**************************/SAPE.pm" =~ /^(.+)$/;
require $1;
my $sape = new SAPE::Client(
user => '**************************',
host => '<мой сайт>', # необязательно, по умолчанию: $ENV{HTTP_HOST}
charset => 'windows-1251', # необязательно, по умолчанию: windows-1251
);
print $sape->get_links;

Добавлено через 1 минуту
вот этот код хочу внедрить но как не знаю
"$ENV{DOCUMENT_ROOT}/**************************/SAPE.pm" =~ /^(.+)$/;
require $1;
my $sape = new SAPE::Client(
user => 'Я***************',
host => '<ИМЯ_ХОСТА>', # необязательно, по умолчанию: $ENV{HTTP_HOST}
charset => 'windows-1251', # необязательно, по умолчанию: windows-1251
);
print $sape->get_links;

alexbyk 28.07.2012 17:39

HTML шаблон страницы ни о чем не говорит) Код модуля необходимо вставить в исполняемый файл с кодом Perl. Скорее всего, в вашем случае самостоятельно это будет сделать затруднительно, как и помочь вам из форума. Полагаю, вам необходимо обратиться к разработчикам с просьбой добавить Sape модуль. Или, если разработчиков вашей CMS не найти - к программисту, который бы попробовал разобраться


Ну в крайнем случае тогда уже выложить весь код всего сайта, хотя я бы этого делать не советовал :)

jo937 28.07.2012 18:13

в скрипт что ли? index.cgi например, сейчас попробую

#!/usr/bin/perl
use CGI
$indat = new CGI;
"$ENV{DOCUMENT_ROOT}/******************/SAPE.pm" =~ /^(.+)$/;
require $1;
my $sape = new SAPE::Client(
user => '*****************************',
host => '<кипитработа.рф>', # необязательно, по умолчанию: $ENV{HTTP_HOST}
charset => 'windows-1251', # необязательно, по умолчанию: windows-1251
);
print $sape->get_links;
require '$config.pl';

# ::::::::::::::::::::::::::: Получение данных переданных скрипту

$I_a=$indat->param('a');
chomp($I_a);

ну вот начала кусочка скрипта главной страницы моего сайта. эффекта нуль

Infecter 24.06.2013 21:06

Спасиб, а то голову ломал как на сайт на perl сапу ставить


Часовой пояс GMT +3, время: 22:46.

Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.