Парсер ядекса

  • Автор темы webrazrabot4ik
  • Дата начала
Статус
В этой теме нельзя размещать новые ответы.
MisterX написал(а):
Вряд ли яндекс сделал этот параметр просто для красоты и рано или поздно использование одного и того же значение приведет к неработоспособности скрипта. Лучше все же эмулировать работу браузера и определять значение параметра анализируя код формы яндекса.

Код который я привел, написал года два назад и до сих пор работает.
 
untwist написал(а):
Код который я привел, написал года два назад и до сих пор работает.
Может оно пока и работает, но я все таки бы предложил правильно это реализовать, чтобы в будущем точно никаких проблем в работе скрипта не возникло.
 
MisterX написал(а):
Может оно пока и работает, но я все таки бы предложил правильно это реализовать, чтобы в будущем точно никаких проблем в работе скрипта не возникло.

Я согласен с вами.
Только ответьте что эта за переменная ?
 
untwist написал(а):
Я согласен с вами.
Только ответьте что эта за переменная ?
Чтобы узнать наверняка нужно у яндекса спросить :)
Судя повсему это идентификатор запроса для кеширования чтобы когда переходите на следующие странице в результатах поиска яндексу не приходилось снова производить поиск. Таким образом, не передавая правильное значение переменной вы просто зря напрягаете яндекс :)
 
это - парсер директа, а не яндекса.
народ, может кто кодом для яндекса поделится?
 
  • Заблокирован
  • #17
function parsyandex ($content) { global $find; $find = array (); $pattern = '|<a href="(http://[^"]+)">|i'; if (preg_match_all ($pattern, $content, $matches)) { for ($i = 0; $i < count ($matches[1]); ++$i) { $links = trim ($matches[1][$i]); if (!(empty ($links))) { if ($links != 'http://pda.yandex.ru/') { $links = preg_replace ('/<[^>]+>/', '', $links); $links = preg_replace ('/<\\/\\w+>/', '', $links); $links = preg_replace ('/\\s+/', '', $links); $chep = array (); $chep = explode ('http://', $links); if (!(isset ($chep[1]))) { $links = preg_replace ('/^/', 'http://', $links); } $find[] = $links; continue; } continue; } } echo ' Yandex: [' . count ($find) . ']<br>'; return null; } echo ' Yandex: <b>NO RESULT</b> <br>'; }
функция из Lynx
 
Ну а в чем сложность отлавливать при помощи регулярных выражений спискок страниц внизу? А так же использовать в ГЕТе параметр numdoc=50?

Добавлено через 2 минуты
Пример поисковика : me.by

При доступе через XML будет удобнее, вопросов нет. Но что бы там работать не обходимо зарегистрировать IP, а после у тебя будет лимитированное количество запросов. Если больше то за деньги. А тупо парсить выдачу можно долго и не напряжно :) Главное не усердствовать в колчиестве запросов. А растянуть кроном все на целый день.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху