Быстрое определение позиции сайта в Яндексе

<html>
<head>
<title>Yandex</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>         

<?php
if(!isset($_POST['submit'])) {
  echo '<form method="post" action="">
  <table>
  <tr><td>Сайт:   </td><td> <input name="site"  type="text" size="30"> </td></tr>
  <tr><td>Запрос: </td><td> <input name="zapros" type="text" size="30"></td></tr>
  <tr><td>Количесвто страниц: </td><td>
  <input name="count" type="text" size="30" maxlength="1" value="3"></td></tr>
  </table>
  <input type="submit" name="submit" value="Искать">
  </form>';
}
else {
 $pattern = '/<span style="color:#060;">'."\n".'(www.)*'.$_POST['site'].'(.*)/i';
 $zapros  = rawurlencode($_POST['zapros']);
 $site    = $_POST['site'];
 $count   = $_POST['count'];         

 // берем каждую страницу и парсим
 for($p=0; $p<$count; $p++){
    $link = 'http://www.yandex.ru/yandsearch?&p='.$p.'&text='.$zapros;
     $content = file_get_contents($link);         

     // берем содержимое отдельной страницы и парсим
  if(preg_match_all($pattern,$content,$page)) {
       echo '<b>'.$_POST['site'].'</b><br>'.$_POST['zapros'].'<br>';
         $content = explode('<div class="title">',$content);         

   // находим позицию сайта
   for($i=1; $i<=10; $i++) {
    if(preg_match($pattern,$content[$i])) {
     $poz = $p*10 + $i;
     echo '<a target="_blank" href="http://'.strip_tags($page[0][0]).'">'
             .strip_tags($page[0][0]).'</a><br>';
     echo 'Позиция: <a href="'.$link.'" mce_href="'.$link.'" target="_blank">'.$poz.'</a>';
     exit();
    }
   }
  }
 }
 echo 'нету :(';
}
?>

demo: http://ekimoff.ru/ya.php

#1

Ха, и ты с этим заморочился :)
у меня давно есть такая штука:
http://seo.gadgetblog.ru

Позиции по Рамблер, Яндекс, Google. Определяет первые 100 позиций, регистрация, графики. Сейчас проект переписывают программеры, будем выводить в свободное плавание.

P.S. программа сильно уменьшит нагрузку на сервера Яндекса, если сделать так:

http://www.yandex.ru/yandsearch?&p='.$p.'&text='.$zapros;
заменить на
http://www.yandex.ru/yandsearch?&num=50&p='.$p.'&text='.$zapros;
ну и по страницам тоже поправить.

Дмитрий, 23.03.2008 - 22:54
#2

Пришлось немного заморочиться. Больно было смотреть как один мой заказчик постоянно серфил Яндекс. Я нашел пару скриптов, но кода в них было по несколько 1000 строк (OMG!). Вобщем написал чисто под свою задачу.

gadgetblog.ru)) Вспоминается анекдот:
Гаджеты - это такие штуки, покупаешь, приносишь домой, говоришь жене сколько стоит, а она тебе: - ну, и гад же ты!

admin, 24.03.2008 - 08:11
#3

http://dwaslova.ru
искал нету пишет, но есть в индексе и позиции в Яше, не работает скрипт

reet, 17.01.2012 - 12:23
#4

Доброго времени суток , незнаю чу и как но вот к примеру сайт типа http://мос-труд.рф/ , почемуто пишет просто нету.
Кирилицу то моно же писать , или этот скрипт только для латиницы?

Борис, 15.10.2012 - 12:26
Оставить комментарий