Meneldor, так и сделал, вроде работает.
Еще вопрос. Контекстный код размещен более чем на 2700 страницах, но система нашла только 32... |
А вот с этим вопрос уже в официальный саппорт САПЕ - новые страницы собирает индексатор САПЕ, и по какому принципу он по ним ходит - мне самому совершенно непонятно :).
|
Изменил скрипт
Цитата:
$hash{msg} = $sape_context->replace_in_page_text($hash{msg}); Текст возвращается, но нет кода-идентификатора (в том числе для блока ссылок), он должен быть или нет? Как проверить, работает ли вывод ссылок? |
Код для вызова из перлового скрипта блока ссылок и контекстных ссылок вместе
Цитата:
Код для вызова из перлового скрипта блока ссылок и контекстных ссылок вместе, используя новый скрипт для 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}); Проверенно, работает. |
помогите кто может... что-то не получается...
код примерно такой... но не получается ни контекстные ссылки ни обычные вставить... теги <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 подставляются... |
На всякий случай, может кому-то пригодится. Столкнулся с такой проблемой. Сайт находится на корпоративном веб-сервере, который имеет выход в Интернет только через корпоративный прокси-сервер. Чтобы все работало через прокси необходимо в конструкторе 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; |
Написал модуль Sape для одного Perl фреймворка. Не могли бы вы дать описание куда какой запрос делать, как его переваривать - хочу добавить эту функциональность в нем?... А то изучать исходный код отнимает слишком много времени.
|
Цитата:
|
Цитата:
Было бы хорошо если бы где-то можно было почитать, что где берется и и т.д. В каком виде можно данные забрать с сервера... А то чтобы написать плагин для обычных ссылок, мне пришлось добавить сайт, подождать пока кто-то что-то купит, потом посмотреть что отвечает сервер - в общем методом тыка долго очень. |
А чем не подойдёт тот, что в Сапе? Любопытно ).
|
Цитата:
Может быть есть тесты для модуля по которым можно все воспроизвести? А лучше примеры разных результатов dispenser-01.sape.ru/code.php?user=&host=&as_xml=true&charset=utf-8 или где там брать данные |
Цитата:
|
Ааа, сори, только щас всю тему перечитал. Я думал вы сотрудник Сапы
|
У меня сайт на CMS написал на Perl. я скачал папку с sape.pm закинул в корень сайт, поставил атрибут на папку 777. а вот код для страницы у меня не работает, просто отображается текстом на странице, и не выполняется.как правильно надо настроить код на странице html?
|
Цитата:
|
хм.точно не скажу. а тут файлы выкладывать нельзя??? а давайте я сейчас сюда код страницы главной опубликую, там сами всё поймёте, она не сложная.
а вот этот код я хочу внедртить "$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> </td> </tr> </tab <div id="PC_Teaser_Block_60380" class="PC_TBlock">загрузка...</div> <!--s_links--><!--check code--><!--/s_links--> </td> <td> <STRONG> Здесь могла быть ваша реклама ( очень дёшево)<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> реклама </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>© <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 --> </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; |
HTML шаблон страницы ни о чем не говорит) Код модуля необходимо вставить в исполняемый файл с кодом Perl. Скорее всего, в вашем случае самостоятельно это будет сделать затруднительно, как и помочь вам из форума. Полагаю, вам необходимо обратиться к разработчикам с просьбой добавить Sape модуль. Или, если разработчиков вашей CMS не найти - к программисту, который бы попробовал разобраться
Ну в крайнем случае тогда уже выложить весь код всего сайта, хотя я бы этого делать не советовал :) |
в скрипт что ли? 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); ну вот начала кусочка скрипта главной страницы моего сайта. эффекта нуль |
Спасиб, а то голову ломал как на сайт на perl сапу ставить
|
Часовой пояс GMT +3, время: 22:46. |
Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.