|
|
|
| Добрый день.
Скачал с раздела Downloads скрипт "Система мониторинга позиций сайта в поисковых системах"
поставил на локалку под денвер
не работает определение позиции в Yandex
номер страницы показывает
а номер позиции нет.
Rambler всё нормально
Aport показывает половину html страницы (но это не важно, меня yandex интересует)
Поставил на Хост (sweb) таже фигн...
попытался сам разобраться, но определение позиций в yandex с помощи регулярных выражений, в которых я не разобрался.
Помогите найти ошибку, почему не показывает ? | |
|
|
|
|
автор: glsv (07.03.2006 в 17:52) |
|
|
для: Black_joker
(07.03.2006 в 14:12)
| | Скорее всего, Яндекс, чуть изменил верстку своих страниц и регулярное выражение уже не срабатывает. | |
|
|
|
|
|
|
|
для: glsv
(07.03.2006 в 17:52)
| | Это понятно.
Только я не могу понять что поменять чтобы работало :(
Нашол несколько функций которые не могу понять.
Объясните пожалуйста.
-------------------
function pattern($typepattern)
{
switch($typepattern)
{
case YANDEX:
return array("<LI value=\d{1,3}>\D*", "[^!]*<\/A>");
break;
}
}
-------------------
function findposition($server, $site, $text, $startpattern, $endpattern)
{
switch($server)
{
case YANDEX:
preg_match_all("/$startpattern.$site.$endpattern/iU",$text,$arr);
preg_match_all("/\d{1,3}>/iU",$arr[0][0],$position);
$numberposition = substr($position[0][0], 0,
strlen($position[0][0]-1));
return $numberposition;
-------------------------
А вот код yandex:
<LI value=4>
<DIV class=title><A onclick="r(this,'web/pos=4')" tabIndex=5
href="http://www.artlebedev.ru/" target=_blank>Студия Артемия
Лебедева</A></DIV>
<DIV class=text><FONT color=#777777 size=-1><B>текст ссылок:
</B></FONT>Сведения о студии и ее услугах разработка консалтинг и продвижение
корпоративных <B>веб</B> <B>сайтов</B> выработка фирменного стиля промышленный
дизайн Информация ... ... студия Артемия Лебедева занимается не только
разработкой <B>веб</B> <B>сайтов</B> но и промышленным дизайном... </DIV>
<DIV class=info><SPAN style="COLOR: #006600">www.artlebedev.ru (13 КБ)
</SPAN>— найден по ссылке </DIV>
<DIV class=info><NOBR><A
href="http://www.yandex.ru/yandsearch?text=%E2%E5%E1+%F1%E0%E9%F2&pag=u&surl=artlebedev.ru&rpt=rad">Еще
с сайта (16)</A></NOBR> · <NOBR>Рубрика: <A
onclick="r(this,'web2yaca')"
href="http://yaca.yandex.ru/yca/cat/Computers/Internet/Web_Development/Design/">Web-дизайн</A>
|
где : <LI value=4>
это номер позиции
я полагаю что они отвечают за выборку номера.
Но не могу разобратся с регулярными выражениями | |
|
|
|
|
|
|
|
|
для: cheops
(08.03.2006 в 13:23)
| | не нашол там ничяего объясняющие мою тему.
к томуже не работают примеры | |
|
|
|
|
 10.5 Кб |
|
|
для: Black_joker
(07.03.2006 в 14:12)
| | Проблему решил самостоятельно.
Теперь охота его немного доработать.
Цель: скрипт должен обрабатывать не один запрос.(ключевое слово)
Теперь не знаю как сделать чтобы с формы "textarea" шла обработка для каждого запроса который написан с новой строки.
Подскажите пожалуйста, как это сделать.
P.S
рег выражения оказались не такими сложными :)
за 2 дня разобрался.
Исправленный файл прикрепил (мало ли у кого тока ежа проблема) | |
|
|
|
|
|
|
|
для: Black_joker
(04.04.2006 в 16:08)
| | Можно разбить содержимое textarea при помощи следующего кода
<?php
$queryes = preg_split("#[\r\n]#iU",$textarea);
?>
|
где $textarea - текст из текстовой области, а $queryes - массив строк. | |
|
|
|
|
|
|
|
для: Black_joker
(04.04.2006 в 16:08)
| | не работает:) в яндексе вместо 10 номера, выдает мне 1:)))
нашел ошибку:)
строка 250 должна быть такой:
<?
$numberposition = substr($position[0][0], 0, strlen($position[0][0])-1);
|
| |
|
|
|