За последние 24 часа нас посетили 18313 программистов и 1637 роботов. Сейчас ищут 1639 программистов ...

Мониторинг сайтов по ключевым фразам (да здаствует SEO!)

Тема в разделе "Решения, алгоритмы", создана пользователем 440Hz, 19 фев 2008.

  1. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    написал скриптик который мониторит сайты по ключевым фразам

    результат работы:
    Код (Text):
    1.  
    2. php.net              Yandex   php                            ggggg
    3. php.net              Google   php                            gg
    4. php.net              Rambler  php                            gg
    5. php.ru               Yandex   php                            gg
    6. php.ru               Google   php                            gggg
    7. php.ru               Rambler  php                            gg
    8. phpclub.ru           Yandex   php                            gg
    9. phpclub.ru           Google   php                            gg
    10. phpclub.ru           Rambler  php                            gg
    11. php.spb.ru           Yandex   php                            gg
    12. php.spb.ru           Google   php                            gggggg
    13. php.spb.ru           Rambler  php                            gggggg
    14. php.su               Yandex   php                            gg
    15. php.su               Google   php                            gg
    16. php.su               Rambler  php                            gg
    17.  
    18.  
    19. Фраза                                    Yandex  Google Rambler
    20.                            php.net
    21. php                                         40       2       1
    22.                              php.ru
    23. php                                          7      22      11
    24.                            phpclub.ru
    25. php                                          3       4       3
    26.                            php.spb.ru
    27. php                                          2       0      42
    28.                              php.su
    29. php                                          4       7      15
    кому интересно могу выложить
     
  2. Anonymous

    Anonymous Guest

    А покажи, дядько? Чиста так, поржать, позырить...
     
  3. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    Горбунов Олег

    основа не моя...
    просто причесал, потестил...

    Код (PHP):
    1. <?php
    2.  
    3. /**
    4. * 2008 (с) 440hz
    5. * распространяется бесплатно на любых условиях.
    6. * =)
    7. */
    8.  
    9. require_once('./tools.inc');
    10.  
    11.  
    12. // список сайтов для мониторинга
    13. $sites = array();
    14. $sites[] = 'php.net';
    15. $sites[] = 'php.ru';
    16. $sites[] = 'phpclub.ru';
    17. //$sites[] = 'www.phpconf.ru';
    18. //$sites[] = 'www.phpworld.ru';
    19. //$sites[] = 'www.phpinside.ru';
    20. $sites[] = 'php.spb.ru';
    21. $sites[] = 'php.su';
    22. //$sites[] = 'phpc.ru';
    23. //$sites[] = 'php-ru.info';
    24. //$sites[] = 'php.yar.ru';
    25. //$sites[] = 'php.com.ua';
    26. //$sites[] = 'www.phpforum.ru';
    27. //$sites[] = 'www.php-mail.ru';
    28.  
    29. // список ключевых фраз
    30. $words = array();
    31. $words[] = 'php';
    32. //$words[] = 'mysql';
    33. //$words[] = 'apache';
    34. //$words[] = 'установка php mysql apache';
    35. //$words[] = 'отправка почты на php';
    36. //$words[] = 'cms на php';
    37. //$words[] = 'cmf на php';
    38. //$words[] = 'скрипты на php';
    39. //$words[] = 'классы на php';
    40.  
    41. // глубина поиска в страницах
    42. $depth = 5;
    43.  
    44. // сбор результатов
    45. $tab = array();
    46. // список поисковиков для вывода результатов
    47. $se = array();
    48.  
    49. foreach($sites as $site) {
    50.  
    51.     reset($words);
    52.     foreach($words as $word) {
    53.  
    54.         $pos = MYandex($site,$word,$depth);
    55.         list($s,$w,$n,$u) = $pos;
    56.         $se[$s] = true;
    57.         $tab[$site][$w][$s] = $n;
    58.  
    59.         $pos = MGoogle($site,$word,$depth);
    60.         list($s,$w,$n,$u) = $pos;
    61.         $se[$s] = true;
    62.         $tab[$site][$w][$s] = $n;
    63.  
    64.         $pos = MRambler($site,$word,$depth);
    65.         list($s,$w,$n,$u) = $pos;
    66.         $se[$s] = true;
    67.         $tab[$site][$w][$s] = $n;
    68.  
    69.     }
    70.  
    71. }
    72.  
    73. // размер колонки фраз
    74. $tablen1 = 40;
    75. // размер колонки данных
    76. $tablen2 = 8;
    77.  
    78. print("\n\n\n");
    79. print(OOPSStr2Txt('фраза',$tablen1,0));
    80.  
    81. foreach($se as $sk => $sv) {
    82.     print(OOPSStr2Txt($sk,8,2));
    83. }
    84. print("\n");
    85.  
    86. foreach($tab as $sitek => $sitev) {
    87.  
    88.     print(OOPSStr2Txt($sitek,$tablen1+$tablen2*3,2));
    89.  
    90.     reset($sitev);
    91.     foreach($sitev as $wk => $wv) {
    92.  
    93.         print("\n");
    94.         
    95.         print(OOPSStr2Txt($wk,$tablen1));
    96.  
    97.         reset($wv);
    98.         foreach($wv as $vk => $vv) {
    99.             print(OOPSStr2Txt($vv, ($tablen2-2),1).'  ');
    100.         }
    101.  
    102.     }
    103.  
    104.     print("\n");
    105.  
    106. }
    107.  
    108. print("\n");
    109.  
    110. ?>[/php]
    111.  
    112. tools.inc
    113.  
    114. [php]<?php
    115.  
    116. /**
    117. * Запрос страницы с информацией
    118. */
    119.  
    120. function GetPage($url,&$refer='',&$agent='',&$cookies='',$alive='',$ip='') {
    121.  
    122.     $ch = curl_init();
    123.  
    124.     curl_setopt($ch, CURLOPT_URL,                $url);
    125.     curl_setopt($ch, CURLOPT_HEADER,            1);
    126.     curl_setopt($ch, CURLOPT_RETURNTRANSFER,    1);
    127.     curl_setopt($ch, CURLOPT_REFERER,            $refer);
    128.     curl_setopt($ch, CURLOPT_USERAGENT,            $agent);
    129.     curl_setopt($ch, CURLOPT_COOKIE,            $cookies);
    130.     
    131.     $result = curl_exec($ch);
    132.     $info = curl_getinfo($ch);
    133.     curl_close($ch);
    134.  
    135.     // все ок
    136.     if($info['http_code'] == 200) {
    137.         Progress('g');
    138.         return $result;
    139.     }
    140.  
    141.     /*
    142.     // редирект. перейдем туда....
    143.     if($info['http_code'] == 302) {
    144.         if(preg_match("/Location:\s*(.*)/i",$result,$rs)) {
    145.             Progress('l');
    146.             $refer = $url;
    147.             $result = GetPage($rs[1],$refer,$agent,$cookies,$alive,$ip);
    148.  
    149.             print $result;
    150.             exit();
    151.  
    152.         }
    153.     }
    154.  
    155.     */
    156.  
    157.     print_r($info);
    158.     print_r($result);
    159.     
    160.     exit();
    161.  
    162.  
    163. } 
    164.  
    165. /**
    166. * Получение статистки с Яндекса
    167. */
    168.  
    169. function MYandex($site,$word,$depth=10) {
    170.  
    171.     $search = 'Yandex';
    172.     Notify($search,$site,$word);
    173.  
    174.     $agent = GetAgent();
    175.     $refer = '';
    176.     $cookies = '';
    177.     $alive = '';
    178.  
    179.     $target = GetPage('http://www.yandex.ru',$refer,$agent,$cookies,$alive);
    180.  
    181.     $pos = array($search,$word,0,'');
    182.  
    183.     for($p=0;$p<$depth;$p++) {
    184.  
    185. //        Progress($p);
    186. //        sleep(rand(0,10));
    187.  
    188.         $result  = GetPage    (
    189.                             "http://www.yandex.ru/yandsearch?p=".$p."&text=".urlencode($word)."&rpt=rad",
    190.                             $refer,$agent,$cookies,$alive
    191.                             );
    192.  
    193.         $ret = GetYandexResult($site,$result,$word,$p);
    194.  
    195.         if($ret) {
    196.             list($num,$url) = $ret;
    197.             $pos = array($search,$word,$num,$url);
    198.             break;
    199.         }
    200.     }
    201.  
    202.     return $pos;
    203.  
    204. }
    205.  
    206. /**
    207. * Получение данных со страницы Яндекса
    208. */
    209.  
    210. function GetYandexResult($site,&$cnt,$key,$p) {
    211.  
    212.     preg_match("/<ol class=\"results\".*?>(.*?)<\/ol>/is",$cnt,$rs);
    213.  
    214.     if(strlen($rs[1])<1) return false;
    215.  
    216.     preg_match_all("/<a tabindex=\"\d+\" onclick=\".*?\" href=\"(.*?)\".*?>/is",$rs[1],$res);
    217.     if(sizeof($res[1])<1) return false;
    218.  
    219.     reset($res[1]);
    220.     while(list($i,$vl)=each($res[1])){
    221.  
    222.         if(strstr($vl,$site)) {
    223.             return array(($i+1)+($p*10),$vl);
    224.         }
    225.     }  
    226.     return false;
    227. }
    228.  
    229. /**
    230. * Запрос страницы с информацией с Гугла
    231. */
    232.  
    233. function MGoogle($site,$word,$depth=1) {
    234.  
    235.     $search = 'Google';
    236.     Notify($search,$site,$word);
    237.  
    238.     $agent = GetAgent();
    239.     $refer = '';
    240.     $cookies = '';
    241.     $alive = '';
    242.  
    243.     $target = GetPage('http://www.google.ru',$refer,$agent,$cookies,$alive);
    244.  
    245.     $pos = array($search,$word,0,'');
    246.  
    247.     for($p=0;$p<$depth;$p++) {
    248.  
    249. //        Progress($p);
    250. //        sleep(rand(0,10));
    251.  
    252.         $result  = GetPage    (
    253.                             "http://www.google.ru/search?hl=ru&q=".urlencode($word)."&complete=1&hl=ru&lr=&newwindow=1&start=".(10*$p)."&sa=N",
    254.                             $refer,$agent,$cookies,$alive
    255.                             );
    256.  
    257.         $ret = GetGoogleResult($site,$result,$word,$p);
    258.  
    259.         if($ret) {
    260.             list($num,$url) = $ret;
    261.             $pos = array($search,$word,$num,$url);
    262.             break;
    263.         }
    264.     }
    265.  
    266.     return $pos;
    267.  
    268. }
    269.  
    270. /**
    271. * Получение данных о страницы Гугла
    272. */
    273.  
    274. function GetGoogleResult($site,&$cnt,$key,$p){
    275.  
    276.     preg_match_all("/<h2 class=r><a href=\"http:\/\/(.*?)\" target=_blank class=l([^>]*)>/is",$cnt,$res);
    277.     if(sizeof($res[1])<1) return false;
    278.  
    279.     reset($res[1]);
    280.     while(list($i,$vl)=each($res[1])){
    281.  
    282.         if(strstr($vl,$site)) {
    283.             return array(($i+1)+($p*10),$vl);
    284.         }
    285.  
    286.     }
    287.     return false;
    288. }
    289.  
    290. /**
    291. * Запрос страницы с информацией с Рамблера
    292. */
    293.  
    294. function MRambler($site,$word,$depth=1) {
    295.  
    296.     $search = 'Rambler';
    297.     Notify($search,$site,$word);
    298.  
    299.     $agent = GetAgent();
    300.     $refer = '';
    301.     $cookies = '';
    302.     $alive = '';
    303.  
    304.     $target = GetPage('http://www.rambler.ru',$refer,$agent,$cookies,$alive);
    305.  
    306.     $pos = array($search,$word,0,'');
    307.  
    308.     for($p=0;$p<$depth;$p++) {
    309.  
    310. //        Progress($p);
    311. //        sleep(rand(0,10));
    312.  
    313.         $result  = GetPage    (
    314.                             "http://www.rambler.ru/srch?oe=1251&set=www&words=".urlencode($word)."&start=".(15*$p),
    315.                             $refer,$agent,$cookies,$alive
    316.                             );
    317.  
    318.         $ret = GetRamblerResult($site,$result,$word,$p);
    319.  
    320.         if($ret) {
    321.             list($num,$url) = $ret;
    322.             $pos = array($search,$word,$num,$url);
    323.             break;
    324.         }
    325.     }
    326.  
    327.     return $pos;
    328.  
    329. }
    330.  
    331. /**
    332. * Получение данных со страницы Рамблера
    333. */
    334.  
    335. function GetRamblerResult($site,&$cnt,$key,$p){
    336.  
    337.     preg_match_all("/<div\s*class=\".*?\"><a onclick=\"R\(.*?\)\" href=\"(.*?)\".*?>/is",$cnt,$res);
    338.     if(sizeof($res[1])<1) return false;
    339.  
    340.     reset($res[1]);
    341.     while(list($i,$vl)=each($res[1])){
    342.         if(strstr($vl,$site)) {
    343.             return array(($i+1)+($p*10),$vl);
    344.         }
    345.     }
    346.  
    347.     return false;
    348. }
    349.  
    350. /**
    351. * Форматирование текста на выводе
    352. */
    353.  
    354. function OOPSStr2Txt($str,$len,$align=0) {
    355.  
    356.     $spacer = ' ';
    357.  
    358.     if(strlen($str) > $len) {   
    359.         return substr($str,0,$len);
    360.     } else {
    361.         switch($align) {
    362.             // вправо
    363.             case 1:
    364.                 return str_repeat($spacer,$len-strlen($str)).$str;
    365.             // центр
    366.             case 2:
    367.                 $d1 = intval(($len-strlen($str))/2);
    368.                 if($d1 != ($len-strlen($str))/2 AND $d1 != 0) $d1--;
    369.                 $d2 = $len - ($d1 + strlen($str) );
    370.                 $ret = '';
    371.                 if($d1) $ret = $ret.str_repeat($spacer,$d1);
    372.                 $ret         = $ret.$str;
    373.                 if($d2) $ret = $ret.str_repeat($spacer,$d2);
    374.                 return $ret;
    375.             // влево
    376.             default:
    377.                 return $str.str_repeat($spacer,$len-strlen($str));
    378.         }
    379.     }
    380.  
    381. }
    382.  
    383. /**
    384. * Получить агента от которого работаем
    385. */
    386.  
    387. function GetAgent() {
    388.  
    389.     static $agent = false;
    390.  
    391.     $agents = array(
    392.         'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.1) Gecko',
    393.         'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon 2.0',
    394.         'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 8.54',
    395.         'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)',
    396.         'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET)',
    397.         'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.4) Gecko',
    398.         'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2',
    399.         'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera',
    400.         'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',
    401.         'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; en) Opera',
    402.         'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko',
    403.         'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1a2) Gecko',
    404.         'Opera/8.54 (Windows NT 5.1; U; ru)',
    405.         'Opera/9.00 (Windows NT 5.1; U; ru)',
    406.         'Opera/9.00 (Windows NT 5.2; U; ru)'
    407.              );
    408.  
    409.     if(!$agent)
    410.         $agent = $agents[array_rand($agents,1)];
    411.  
    412.     return $agent;
    413. }
    414.  
    415. /**
    416. * Вывод процесса работы
    417. */
    418.  
    419. function Notify($search,$site,$word) {
    420.     print("\n".OOPSStr2txt($site,20)." ".OOPSStr2txt($search,8)." ".OOPSStr2txt($word,30)." ");
    421. }
    422.  
    423. function Progress($p='') {
    424. //    print($p.' ');
    425.     print($p);
    426. }
    427.  
    428.  
    429.  
    430. ?>
    вот еще прогнал. переводить тока не стал в коировки.

    Код (Text):
    1.  
    2. C:\wwwroot\monitoring.440hz.ru\check>php index.php
    3.  
    4. php.ru               Yandex   php                            gg
    5. php.ru               Google   php                            gggg
    6. php.ru               Rambler  php                            gg
    7. php.ru               Yandex   mysql                          gggggg
    8. php.ru               Google   mysql                          gggggg
    9. php.ru               Rambler  mysql                          gggggg
    10. php.ru               Yandex   apache                         ggggg
    11. php.ru               Google   apache                         ggggg
    12. php.ru               Rambler  apache                         gggggg
    13. php.ru               Yandex   єёЄрэютър php mysql apache     gg
    14. php.ru               Google   єёЄрэютър php mysql apache     ggg
    15. php.ru               Rambler  єёЄрэютър php mysql apache     ggggg
    16.  
    17.  
    18. ЇЁрчр                                    Yandex  Google Rambler
    19.                              php.ru
    20. php                                          7      23      11
    21. mysql                                        0       0       0
    22. apache                                      32      38       0
    23. єёЄрэютър php mysql apache                   1      12      35
     
  4. Clone

    Clone Guest

    Афигеть... Почему бы так не сделать:
    PHP:
    1. <?php
    2.  function GetAgent() {
    3.  
    4.      static $agents;
    5.  
    6.      if (!isset($agents)) $agents = array(
    7.          'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.1) Gecko',
    8.          'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon 2.0',
    9.          'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 8.54',
    10.          'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)',
    11.          'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET)',
    12.          'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.4) Gecko',
    13.          'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2',
    14.          'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera',
    15.          'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',
    16.          'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; en) Opera',
    17.          'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko',
    18.          'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1a2) Gecko',
    19.          'Opera/8.54 (Windows NT 5.1; U; ru)',
    20.          'Opera/9.00 (Windows NT 5.1; U; ru)',
    21.          'Opera/9.00 (Windows NT 5.2; U; ru)'
    22.              );
    23.  
    24.      return $agents[array_rand($agents)];
    25.  }
    26. ?>
     
  5. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Clone, потому что так сделал ОН...
     
  6. Clone

    Clone Guest

    Поставил копирайт - отвечай:)))
     
  7. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    440Hz.. продаю твой скрипт.. хочешь купить?:)))
     
  8. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    1. патаму чито агент должен быть...
    2. всегда готов к улучшениям.
    3. кому надо - тот пропачит.
     
  9. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    не. не...
    вот этого не надо...
    упаси боже...
     
  10. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    440Hz, да ладно, скромничай ;)))
     
  11. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    а зачем оно нужно? %)
     
  12. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    сеошники тебя за такие вопросы убьют!
    =)

    это же их хлеб что б народу впаривать, мол топ10 Яндекса - это почетно!

    p.s. в общем все мы любим членами мерятся... они на этом и играют.

    p.p.s. вот этот скрипт и меряет длину члена.

    Код (Text):
    1.  
    2. C:\wwwroot\monitoring.440hz.ru\check>php index.php
    3.  
    4. 440hz.ru             Yandex   440hz                          gg
    5. 440hz.ru             Google   440hz                          gggggg
    6. 440hz.ru             Rambler  440hz                          gg
    7.  
    8.  
    9. Фраза                                    Yandex  Google Rambler
    10.                             440hz.ru
    11. 440hz                                        1       0       3
    вот по яндексу у меня самый болшой. гугл на меня забил, а рамблер меня за человека не считает. сеошник по этим цифрам может срубить около 1000$.
     
  13. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    о как интересно

    Код (Text):
    1.  
    2. C:\wwwroot\monitoring.440hz.ru\check>php index.php
    3.  
    4. 440hz.ru             Yandex   440hz                          gg
    5. 440hz.ru             Google   440hz                          gg
    6. 440hz.ru             Rambler  440hz                          gg
    7.  
    8.  
    9. ЇЁрчр                                    Yandex  Google Rambler
    10.                             440hz.ru
    11. 440hz                                        1       2       3
    а теперь я в гугле на 2-ом...

    однко все меняется...
     
  14. Clone

    Clone Guest

    440Hz, топ10 яндекса это не только почётно, но и прибыльно. А СЕОшники не столько впаривают свои услуги, сколько пытаются понять как лучше получить требуемый результат не зная на 100% алгоритма работы поисковика.
     
  15. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    да. по определенным фразам...
    =)


    просто меня задолбали прость такого рода скрипты. вот я и выложил...
    заодно потренировался.
     
  16. Clone

    Clone Guest

    440Hz, талантливый маркетолог извлечёт прибыть из любой фразы;)

    Потренировался в чём? В расстановке отступов и комментариев?
     
  17. Ruzzz

    Ruzzz Активный пользователь

    С нами с:
    11 фев 2008
    Сообщения:
    148
    Симпатии:
    1
    Спасибо за скрипт! ) По прямому назначению он мне пока врядли понадобиться, но изучать готовые и НЕ БОЛЬШИЕ скрипты для новичка, это самое оно!
     
  18. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Скопировал... запустил...
     
  19. Cron

    Cron Активный пользователь

    С нами с:
    10 июл 2008
    Сообщения:
    289
    Симпатии:
    0
    Адрес:
    Украина, Сумы
    где-то что-то поменялось...
    Больше ничего не пишет?
     
  20. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
  21. Cron

    Cron Активный пользователь

    С нами с:
    10 июл 2008
    Сообщения:
    289
    Симпатии:
    0
    Адрес:
    Украина, Сумы
    Вас сервер перенаправляет на тот же урл, только без www.
    Обратите внимание, это - ваш запрос
    Код (Text):
    1. [url] => http://www.yandex.ru/yandsearch?p=0&text=php&rpt=rad
    А вот сюда вас сервер отправил:
    Код (Text):
    1. Location: http://yandex.ru/yandsearch?p=0&text=php&rpt=rad
    301 ответ сервера означает постоянное перенаправление. :)
     
  22. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Так я просто скопировал код 440Hz. Получается там ошибка? Я ничего не менял! Хостинг Агава...
     
  23. Cron

    Cron Активный пользователь

    С нами с:
    10 июл 2008
    Сообщения:
    289
    Симпатии:
    0
    Адрес:
    Украина, Сумы
    Получается, что кто-то типа Yandex поменял алгоритм своей работы. Вот и все. У поисковиков это частенько бывает.
     
  24. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    на счет 301 там просто закоменчено. посмотрите код внимательнее. не будьте дебилами?

    PHP:
    1.  
    2. <?
    3. function GetPage($url,&$refer='',&$agent='',&$cookies='',$alive='',$ip='') {
    4.  
    5.     $ch = curl_init();
    6.  
    7.     curl_setopt($ch, CURLOPT_URL,               $url);
    8.     curl_setopt($ch, CURLOPT_HEADER,            1);
    9.     curl_setopt($ch, CURLOPT_RETURNTRANSFER,    1);
    10.     curl_setopt($ch, CURLOPT_REFERER,           $refer);
    11.     curl_setopt($ch, CURLOPT_USERAGENT,         $agent);
    12.     curl_setopt($ch, CURLOPT_COOKIE,            $cookies);
    13.    
    14.     $result = curl_exec($ch);
    15.     $info = curl_getinfo($ch);
    16.     curl_close($ch);
    17.  
    18.     // все ок
    19.     if($info['http_code'] == 200) {
    20.         Progress('g');
    21.         return $result;
    22.     }
    23.  
    24.     // редирект. перейдем туда....
    25.     if($info['http_code'] == 302 OR $info['http_code'] == 301) {
    26.         if(preg_match("/Location:\s*(.*)/i",$result,$rs)) {
    27.             Progress('l');
    28.             $refer = $url;
    29.             $result = GetPage($rs[1],$refer,$agent,$cookies,$alive,$ip);
    30.  
    31.             return $result;
    32.             exit();
    33.  
    34.         }
    35.     }
    36.  
    37.     print_r($info);
    38.     print_r($result);
    39.    
    40.     exit();
    41.  
    42.  
    43. }
    44. ?>
     
  25. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    толко что прогнал с раскоменченным куском

    hosting(440hz):~/monitor$>php index.php

    Код (Text):
    1.  
    2. php.net              Yandex   php                            glg
    3. php.net              Google   php                            gggggg
    4. php.net              Rambler  php                            gg
    5. php.ru               Yandex   php                            glg
    6. php.ru               Google   php                            gggggg
    7. php.ru               Rambler  php                            gg
    8. phpclub.ru           Yandex   php                            glg
    9. phpclub.ru           Google   php                            gggggg
    10. phpclub.ru           Rambler  php                            gg
    11.  
    12.  
    13. фраза                                    Yandex  Google Rambler
    14.                            php.net
    15. php                                          2       0       1
    16.                              php.ru
    17. php                                          3       0      10
    18.                            phpclub.ru
    19. php                                          6       0       5