Разбор пагинации серпа Я

Тема в разделе "Русские поисковики", создана пользователем Xacret.T, 4 дек 2006.

Статус темы:
Закрыта.
  1. Xacret.T

    Xacret.T Постоялец

    Регистр.:
    2 июн 2006
    Сообщения:
    139
    Симпатии:
    26
    Вот тут такое дело: пишу парсер Я. Столкнулся с проблемой пагинации.

    при чистом вводе запроса я получаю вот такую страницу
    Код:
     http://www.yandex.ru/yandsearch?text=[B]Audi[/B]&stype=www
    (далее я везде использую Audi как запрос)

    ну а вот ссылки пагинации выглядят так:
    Код:
    http://www.yandex.ru/yandpage?&q=1982327231&p=1&ag=d&qs=text%3DAudi%26stype%3Dwww
    http://www.yandex.ru/yandpage?&q=1982327231&p=2&ag=d&qs=text%3DAudi%26stype%3Dwww
    http://www.yandex.ru/yandpage?&q=1982327231&p=3&ag=d&qs=text%3DAudi%26stype%3Dwww
    тоесть как я понял
    p - передает номер страницы
    ag-хз!!!
    а вот с q проблема - она генерится в зависимости от запроса!!! тоесть если я возьму и введу в браузере
    Код:
    http://www.yandex.ru/yandpage?&q=1982327231&p=2&ag=d&qs=text%3D[B]Porshe[/B]%26stype%3Dwww
    то снова получу выдачу по Audi

    вопрос такой: каков алгоритм генерирования значения для переменной q???

    Добавлено через 4 минуты
    а то влом парсить еще и ссылки пагинации - как не крути - доп нагрузка.
     
  2. stud2000

    stud2000 Прохожие

    Нагрузка небольшая да и парсится быстро.

    PHP:
    $begin strpos($content"span class=\"active\"");
     
    $end strpos($content"/div"$begin);
     
    $pages substr($content$begin$end $begin);
     
    $pattern "/<a\shref\s?=\s?[\"']?([^\"\s>]*)[^>]*>([\d]+)/i";
     
    preg_match($pattern$pages$matched);
     
    $url_next_page="http://www.yandex.ru".$matched[1];
    Я бы посоветовал всеже не делать больше 15 таких запросов без какой либо задержки.

    Достает доказывать девочкам с unblock@yandex.ru, что это не я, а глюки у вас логами :)
     
  3. bes555

    bes555 Постоялец

    Регистр.:
    1 авг 2006
    Сообщения:
    93
    Симпатии:
    28
    Попробуй ставить q=1.
    А вообще конечно лучше выдернуть значение q с первой страницы и подставлять его.
    Будешь меньше смахивать на бота ;)
    Вроде бы это айди кэша данного запроса, который хранится в яндексе сутки.
     
  4. dynkan-maclaud

    dynkan-maclaud Прохожие

    ))

    yниффига не понял ((
     
Статус темы:
Закрыта.