За последние 24 часа нас посетили 22011 программистов и 1113 роботов. Сейчас ищет 651 программист ...

Яндекс......решено

Тема в разделе "Прочие вопросы по PHP", создана пользователем artem-Kuzmin, 10 июл 2012.

  1. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    Продолжаю пробовать парсить яндекс... Продолжаю это делать неудачно.
    Причем понятно что как таковое меня банит яндекс не за то что делаю много запросов а просто не верит то я не робот... Установил себе http снифер врооде заголовки все посылаю как иброузер точнее копирнул немного оттуда...
    Вот что посылаю
    Код (Text):
    1.  
    2.     curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20100101 Firefox/13.0.1");
    3.     curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
    4.     curl_setopt($ch,CURLOPT_MAXREDIRS,1);
    5.     curl_setopt($ch,CURLOPT_COOKIEJAR,$root.'cookie.txt');
    6.     curl_setopt($ch,CURLOPT_COOKIEFILE,$root.'cookie.txt');
    7.     curl_setopt($ch,CURLOPT_HTTPHEADER,array(
    8.     'Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    9.     'Accept-Language:ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3',
    10.     'Connection:keep-alive',
    11.     ));
     
  2. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    Re: Яндекс......

    ты как начнешь удачно парсить, не забудь выложить то, как ты этого добился, ибо тема интересна многим (ну мне во всяком случае точно)
     
  3. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    Re: Яндекс......

    Та оно вроде просвет был думал наконец а потом сдулось все)...
    И через прокси это делаю
    Код (Text):
    1. if(!empty($count)){
    2.             curl_setopt($ch , CURLOPT_PROXY , $proxy[$y][0]);
    3.             if(!empty($proxy[$y][1]))
    4.                 curl_setopt($ch , CURLOPT_PROXYPORT , $proxy[$y][1]);
    5.             print($proxy[$y][0] . ':' . $proxy[$y][1].'<br/>');
    6.             $y++;
    7.             if($y>=$count)
    8.                 $y=0;
    9.         }
    Вообще если реально кому то это интересно и непротив тоже потестить попробовать или мне указать на ошибки вот что я пока написал)

    Добавлено спустя 9 минут 40 секунд:
    Код (Text):
    1. <?php
    2. set_time_limit(0);
    3. $root=$_SERVER['DOCUMENT_ROOT'] . '/';
    4. //Название файла и путь со списком проверенных прокси серверов ip:port
    5. $file_proxy=$root . 'proxy_ok.txt';
    6. //урл для старта
    7. $url_start=array('http://yandex.ru/yandsearch?text=scs&lr=20272');
    8. $url_find='http://yandex.ru/';
    9. //$ya - в голову мысль клюнла пробовал этот параметр не важен
    10. $ya='http://www.yandex.ru/';
    11. header('Content-Type: text/html; charset=UTF-8');
    12. //Все подряд чтоб не запускали случайно
    13. $access=false;
    14. if(!empty($_GET['mn']) && $_GET['mn']=='a')
    15.     $access=true;
    16. if($access==false)
    17.     die('У вас нет доступа');
    18. if(!extension_loaded('curl'))
    19.     die('Для работы скрипта необходима библиотека curl');
    20. $proxy=file_get_contents($file_proxy);
    21. if(!empty($proxy)){
    22.     $proxy=explode("\r\n",$proxy);
    23. //Создаем массив прокси и филтруем чтобы были только уникальные на всякий случай вдруг в файле есть одинаковые
    24.     $proxy=array_keys(array_count_values($proxy));
    25.     foreach($proxy as $key=>$val)
    26.         $proxy[$key]=explode(':' , $val);
    27. }
    28. //Парсим аштм возвращенный этой библиотекой
    29. require($root . 'simple_html_dom.php');
    30. $ch=curl_init();
    31. if($ch){
    32.     $header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
    33.     $header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
    34.     $header[] = "Cache-Control: max-age=0";
    35.     $header[] = "Connection: keep-alive";
    36.     $header[] = "Keep-Alive: 300";
    37.     $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
    38.     $header[] = "Accept-Language:ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3";
    39.     $header[] = "Pragma: ";
    40.     curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
    41.     curl_setopt($curl, CURLOPT_AUTOREFERER, true);
    42.     curl_setopt($ch , CURLOPT_RETURNTRANSFER , true);
    43.     curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,0);
    44.     curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20100101 Firefox/13.0.1");
    45.     curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
    46.     curl_setopt($ch,CURLOPT_MAXREDIRS,1);
    47.     curl_setopt($ch,CURLOPT_HEADER,1);
    48.     curl_setopt($ch,CURLOPT_COOKIEJAR,$root.'cookie.txt');
    49.     curl_setopt($ch,CURLOPT_COOKIEFILE,$root.'cookie.txt');
    50.     curl_setopt($ch,CURLOPT_HTTPHEADER , $header);
    51.  
    52.  
    53. //Думал сделать если нет прокси серверов подобие аудитора это если капча была
    54.     if(!empty($_GET['captcha'])){ ответ сами отправляем
    55.         $captch=$_GET['captcha'];
    56.         $key=$_GET['key'];
    57.         $ret=$_GET['ret'];
    58.         $u='http://yandex.ru/checkcaptcha?captcha=' . urlencode($captch) . '&key=' . urlencode($key) . '&retpath=' . urlencode($ret);
    59.         print('<br/>'.$u.'<br/>');
    60.         curl_setopt($ch , CURLOPT_URL , $u);
    61.         $result=curl_exec($ch);
    62.         print($result);
    63.     }
    64.  
    65.  
    66. // Это вот если есть прокси у нас
    67.     $count=null;
    68.     if(!empty($proxy) && is_array($proxy))
    69.         $count=count($proxy);
    70.         $y=0;
    71.     for($i=0;count($url_start)>$i;$i++){
    72.        
    73.         // Прокси
    74.         if(!empty($count)){
    75.             curl_setopt($ch , CURLOPT_PROXY , $proxy[$y][0]);
    76.             if(!empty($proxy[$y][1]))
    77.                 curl_setopt($ch , CURLOPT_PROXYPORT , $proxy[$y][1]);
    78.             print($proxy[$y][0] . ':' . $proxy[$y][1].'<br/>');
    79.             $y++;
    80.             if($y>=$count)
    81.                 $y=0;
    82.         }
    83.        
    84.         //Сначала один запрос к яндексу
    85. //Была мысль что обязательно надо к главной странице яндекса подключиться сохранить там все куки и тока следующий запрос какой надо
    86. //В браузерах куки просто хранятсч поэтому на главную нам и не надо
    87.         /*****************************
    88.         curl_setopt($ch , CURLOPT_URL , $ya);
    89.         $result=curl_exec($ch);
    90.         $http_code=curl_getinfo($ch , CURLINFO_HTTP_CODE);
    91.         if($http_code==200){
    92.             $cookie='';
    93.             list($head,)=explode("\r\n\r\n" , $result , 2);
    94.             preg_match_all('/set-cookie: (.*)/i' , $head , $c);
    95.             if(!empty($c[1])){
    96.                 foreach($c[1] as $val)
    97.                     $cookie.=$val . '; ';
    98.                 $cookie=substr($cookie , 0 , -2);
    99.                 curl_setopt($ch , CURLOPT_COOKIE , $cookie);
    100.             }
    101.         }
    102.         ***********************/
    103.         curl_setopt($ch , CURLOPT_URL , $url_start[$i]);
    104.         $result=curl_exec($ch);
    105.         $dom=str_get_html($result);
    106.         $info=curl_getinfo($ch);
    107.         $http_code=$info['http_code'];
    108.         $http=explode("\r\n" , $result , 2);
    109.         //Проверка был ли редирект
    110.         if(strpos($http[0] , '302')!==false){
    111.             $img=$dom->find('img.b-captcha__image',0);
    112.             $rk=$dom->find('[name=key],[name=retpath]');
    113.             $ret=$rk[1]->value;
    114.             $key=$rk[0]->value;
    115.             if(!empty($img)){
    116.                 $captcha=$img->outertext;
    117.             }
    118.             if(!empty($captcha)){
    119.                 print <<<HERE
    120.                 <h3>Ой-Ой Капча! введем код и продолжим дальше</h3>
    121.                 $captcha<br /><br />
    122.                 <form action="" method="get">
    123.                     <input name="mn" value="a" type="hidden"/>
    124.                     <input type="hidden" name="key" value="$key">
    125.                     <input type="hidden" name="retpath" value="$ret">
    126.                     <input name="captcha" /><br /><br />
    127.                     <input type="submit" />
    128.                 </form>
    129. HERE;
    130.             }
    131.             exit;
    132.         }
    133.         if($http_code==200){
    134.             $url_ret=get_links($result);
    135.             if(!empty($url_ret)){
    136.                 foreach($url_ret as $val){
    137.                     if(!in_array($val , $url_start))
    138.                         $url_start[]=$val;
    139.                 }
    140.             }
    141.         }/*
    142.         elseif($http_code==302){
    143.             list($head,)=explode("\r\n\r\n" , $result);
    144.             preg_match('/location: (.*)/i' , $head , $location);
    145.             $location=$location[1];
    146.             print($location);
    147.             curl_setopt($ch , CURLOPT_URL , $location);
    148.             $result=curl_exec($ch);
    149.             print('<br/><br/>'. curl_error($ch) . '==' . curl_errno($ch) .'<br/><br/>');
    150.             print_r($info);
    151.             print($result);
    152.             exit;
    153.         }*/
    154.         else
    155.             print('Запрос совершить не удалось ' . $http_code . '<br/>');
    156.             exit;
    157.     }
    158.     curl_close($ch);
    159. }
    160. function get_links($content){
    161.     global $url_find;
    162.     $dom=str_get_html($content);
    163.     $url=array();
    164.     foreach($dom->find('.b-serp-item__links-link,.b-pager__pages a') as $el){
    165.         if(strpos($el->href , 'http://')===false){
    166.             if(substr($el->href,0,1)=='/')
    167.                 $el->href=substr($url_find , 0 , -1) . $el->href;
    168.             else
    169.                 $el->href=$url_find . $el->href;
    170.         }
    171.         $url[]=$el->href;
    172.     }
    173.     return $url;
    174. }
    175. ?>
    Добавлено спустя 5 минут 11 секунд:
    Да скрипт пока пишется для первого запроса ибо он один то не совершает а логика такая...
    В начале задаем в массиве $url_start урл яндекса с которого начинать...
    Он по нему пройдется вернет аштмл и если все норм дергаем ссылки какие нам надо для того функция get_links
    В ней надо настраивать под себя парсер я то кэш хочу подергать...
    Эта функция вернет массив ссылок всех нужных и их добавляем в массив $url_start перед этим проверим а нет ли там их уже...
    и так странички лазаем добавляем ссылки пока все не пройдем поэтому в цикле каждый раз проверяется размер этого массива

    Добавлено спустя 1 минуту 49 секунд:
    Не пишу ООП скрипт пока простой... Не стараюсь написать коротко ибо тесты ...
    Поэтому важно советы плана не а вот тут можно эту переменную уюрать а как яндекс обмануть

    Добавлено спустя 2 минуты 1 секунду:
    Да про сервис яндекс.xml знаю но там всего 1000 запросов.. Плюс потом захочу выдачу или еще что парсить 1000 запросов будет мало плюс подтверждать своим телефоном нехочется...
     
  4. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    Re: Яндекс......

    Продвинулся далече...
    Суть уловил банит из за того что не даю ему куки нужные при этом. ..
    Написал далее функцию брать все куки которые приходит и отправлять назад...
    Но почему то приходят мне и броузеру разные куки и значит банит....
    На уровне сайтаудитора у меня сейчас работает...
    Яндекс парсю встречается капча ввожу и продолжаю тогда дальше...
    Но по уму надо порный автомат...
    Одним словом вот проблема...
    Яндекс браузеру и скрипту выдает разные куки чего то ему не хватает.. Научиться полуать норм куки тогда заработает прокси как надо..
    Так как если с одними и теми же куками по разным айпишникам сразу капча
     
  5. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    Re: Яндекс......

    насчет каптчи, тут нам помогут наши китайские товарищи, они ее руками вводят по копейки за штуку!
     
  6. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    Re: Яндекс......

    Ну такой вариант у мен работает ток сам пока ввожу каптчу но это ж не гуд)..
    Надо понять почему куки броузеру одни скрипту другие каких заголовков или чего не хватает
     
  7. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    Re: Яндекс......

    малачина, поделишься наработками?
     
  8. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    Re: Яндекс......

    Без проблем))...
    Но заметил что забанил опять яд и пока капча не вводится странно...
    Могу скинуть что есть но это пока еще промежуточный вариант...
    В общем вот..
    Но с капчей все таки проблем...
    Эт парсер пишу для кэша яда ну на его основе если щас добить люой парсер всего яда можно написать...
    Просто линки тогда надо дергать и при двухсотом коде что то свое делать если выдача искать сайт...
    Важней притвориться щас человеком полностью если ввести куки то у меня страни 18 парсит ну можно задержку в секундаж поставить но рано или поздно будет капча вот первое хотя бы с капчей норм тогда справиться
    Код (Text):
    1.  
    2. <?php
    3. set_time_limit(0);
    4. $root=$_SERVER['DOCUMENT_ROOT'] . '/';
    5. //Куки яндекса их вот надо бы из браузера взять строку
    6. $cookie='yandexuid=978270201341937323; t=p; yp=1344536485.ygu.1#1342205481.clh.47639; ys=gsync.1341944485; yandex_gid=213; yabs-frequency=/4/0000000000000000/25_U06GEeNS201Ta3hnPVm0rP0uX/; aw=1_teJxiVGBgPu4lxLFi73/Oc15KAh8u/ud8aKskYCHOwMXAwPAfAAAA//8DALFY#CCngA#A#; fuid01=4f55295434a56376.m2tnOcKX7ADaUANsITrkBFzbUm_KvFf3-CQp-i2i9qRdtp60j7o_p0th_eW74QyR-aJ37h4O0j7904nzslsgH88mz10EoxhU-M8MOgWuADPNCQT2fCb6A1I9QEZmimER; spravka=dD0xMzEwNDA0OTc5O2k9MjAzLjE5OC4yMy44Mjt1PTEzMTA0MDQ5Nzk2NTEyMTIxNzk7aD1mMDBiY2YzN2JhZDRlMWMzMGZjNGQ1YjMzNWMxNjJlMg==; __utma=112022668.1039416602.1341946291.1341946291.1341946291.1; __utmb=112022668.0.10.1341946291; __utmc=112022668; __utmz=112022668.1341946291.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)';
    7. $cookie_cash='__utma=83042206.811561610.1341934279.1341934279.1341934279.1; __utmc=83042206; __utmz=83042206.1341934279.1.1.utmcsr=ssss.ru|utmccn=(referral)|utmcmd=referral|utmcct=/ya.php';
    8. //Название файла и путь со списком прокси серверов
    9. $file_proxy=$root . 'proxy_ok.txt';
    10. $max_queries=5;
    11. $url_start=array('http://yandex.ru/yandsearch?text=site%site.ru&lr=11514');
    12. $url_find='http://yandex.ru/';
    13. $ya='http://www.yandex.ru/';
    14. $cache_server='http://hghltd.yandex.net/';
    15. header('Content-Type: text/html; charset=UTF-8');
    16. $access=false;
    17. if(!empty($_GET['mn']) && $_GET['mn']=='a')
    18.     $access=true;
    19. if($access==false)
    20.     die('У вас нет доступа');
    21. if(!extension_loaded('curl'))
    22.     die('Для работы скрипта необходима библиотека curl');
    23. $proxy=file_get_contents($file_proxy);
    24. if(!empty($proxy)){
    25.     $proxy=explode("\r\n",$proxy);
    26.     $proxy=array_keys(array_count_values($proxy));
    27.     foreach($proxy as $key=>$val)
    28.         $proxy[$key]=explode(':' , $val);
    29. }
    30. require($root . 'simple_html_dom.php');
    31. $ch=curl_init();
    32. if($ch){
    33.     $header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
    34.     $header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
    35.     $header[] = "Cache-Control: max-age=0";
    36.     $header[] = "Connection: keep-alive";
    37.     $header[] = "Keep-Alive: 300";
    38.     $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
    39.     $header[] = "Accept-Language:ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3";
    40.     $header[] = "Pragma: ";
    41.     curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
    42.     curl_setopt($curl, CURLOPT_AUTOREFERER, true);
    43.     curl_setopt($ch , CURLOPT_RETURNTRANSFER , true);
    44.     curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,0);
    45.     //curl_setopt($ch,CURLOPT_COOKIEJAR,$root.'cookie.txt');
    46.     //curl_setopt($ch,CURLOPT_COOKIEFILE,$root.'cookie.txt');
    47.     curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20100101 Firefox/13.0.1");
    48.     curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
    49.     curl_setopt($ch,CURLOPT_MAXREDIRS,1);
    50.     curl_setopt($ch,CURLOPT_HEADER,1);
    51.     curl_setopt($ch,CURLOPT_HTTPHEADER , $header);
    52.     curl_setopt($ch , CURLOPT_COOKIE , $cookie);
    53.     if(!empty($_GET['captcha'])){
    54.         $captch=$_GET['captcha'];
    55.         $key=$_GET['key'];
    56.         $ret=$_GET['ret'];
    57.         $u='http://yandex.ru/checkcaptcha?captcha=' . urlencode($captch) . '&key=' . urlencode($key) . '&retpath=' . urlencode($ret);
    58.         curl_setopt($ch , CURLOPT_URL , $u);
    59.         $result=curl_exec($ch);
    60.         header('Location: домен');
    61.         exit;
    62.     }
    63.     $count=null;
    64.     $count_query=0;
    65.     if(!empty($proxy) && is_array($proxy))
    66.         $count=count($proxy);
    67.     $y=0;
    68.     for($i=0;count($url_start)>$i;){
    69.         if($i==1){
    70.         curl_setopt($ch , CURLOPT_COOKIE , '');
    71.         curl_setopt($ch , CURLOPT_REFERER , '');
    72.         }
    73.         $count_query++;
    74.         // Прокси
    75.         $count=null;
    76.         if(!empty($count)){
    77.             curl_setopt($ch , CURLOPT_PROXY , $proxy[$y][0]);
    78.             if(!empty($proxy[$y][1]))
    79.                 curl_setopt($ch , CURLOPT_PROXYPORT , $proxy[$y][1]);
    80.             print($proxy[$y][0] . ':' . $proxy[$y][1].'<br/>');
    81.             $y++;
    82.             if($y>=$count)
    83.                 $y=0;
    84.         }
    85.        
    86.         curl_setopt($ch , CURLOPT_URL , $url_start[$i]);
    87.         $result=curl_exec($ch);
    88.         $dom=str_get_html($result);
    89.         $info=curl_getinfo($ch);
    90.         $http_code=$info['http_code'];
    91.         $http=explode("\r\n" , $result , 2);
    92.         //Проверка был ли редирект 302 на капчу
    93.         if(strpos($http[0] , '302')!==false){
    94.             $img=$dom->find('img.b-captcha__image',0);
    95.             $rk=$dom->find('[name=key],[name=retpath]');
    96.             $ret=$rk[1]->value;
    97.             $key=$rk[0]->value;
    98.             if(!empty($img)){
    99.                 $captcha=$img->outertext;
    100.             }
    101.             if(!empty($captcha)){
    102.                 print <<<HERE
    103.                 <h3>Ой-Ой Капча! введем код и продолжим дальше</h3>
    104.                 $captcha<br /><br />
    105.                 <form action="" method="get">
    106.                     <input name="mn" value="a" type="hidden"/>
    107.                     <input type="hidden" name="key" value="$key">
    108.                     <input type="hidden" name="retpath" value="$ret">
    109.                     <input name="captcha" /><br /><br />
    110.                     <input type="submit" />
    111.                 </form>
    112. HERE;
    113.             }
    114.             exit;
    115.         }
    116.         if($http_code==200){
    117.             $count_query=0;
    118.            
    119.             /*
    120.             if($i==0){
    121.                 $cookie='';
    122.                 list($head,)=explode("\r\n\r\n" , $result , 2);
    123.                 preg_match_all('/set-cookie: (.*)/i' , $head , $c);
    124.                 if(!empty($c[1])){
    125.                     foreach($c[1] as $val)
    126.                         $cookie.=$val . '; ';
    127.                     $cookie=substr($cookie , 0 , -2);
    128.                     curl_setopt($ch , CURLOPT_COOKIE , $cookie);
    129.                 }
    130.             }
    131.             */
    132.             print($result);
    133.             //Если кэш сервер
    134.            
    135.             if(strpos($url_start[$i] , $cache_server)!==false){
    136.                 list(,$rn)=explode("\r\n\r\n" , $result , 2);
    137.                 file_put_contents($root.'yandex/'.time() . rand() .'.html',$url_start[$i]."\n".$rn);
    138.             }
    139.             else{
    140.                 $url_ret=get_links($dom);  
    141.                 if(!empty($url_ret)){
    142.                     foreach($url_ret as $val){
    143.                         if(!in_array($val , $url_start))
    144.                             $url_start[]=$val;
    145.                     }
    146.                 }
    147.             }
    148.             $i++;
    149.         }
    150.         else
    151.             print('Запрос совершить не удалось ' . $http_code . '<br/>');
    152.         $dom->clear();
    153.         unset($dom);   
    154.         if($count_query>=$max_queries){
    155.             $count_query;
    156.             $i++;
    157.         }
    158.     }
    159.     curl_close($ch);
    160. }
    161. function get_links($dom){
    162.     global $url_find;
    163.     $url=array();
    164.     //.b-serp-item__links-saved a,.b-pager__pages a
    165.     foreach($dom->find('.b-pager__pages a') as $el){
    166.         if(strpos($el->href , 'http://')===false){
    167.             if(substr($el->href,0,1)=='/')
    168.                 $el->href=substr($url_find , 0 , -1) . $el->href;
    169.             else
    170.                 $el->href=$url_find . $el->href;
    171.         };
    172.         $url[]=html_entity_decode($el->href);
    173.     }
    174.     return $url;
    175. }
    176. ?>
     
  9. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    Re: Яндекс......

    хм....ну поехали разбираться :)

    Код (Text):
    1. if(!empty($_GET['mn']) && $_GET['mn']=='a')
    2.    $access=true;
    3. if($access==false)
    4.    die('У вас нет доступа');
    $_GET['mn'] - откуда должен взяться?

    proxy_ok.txt - в студию :)

    require($root . 'simple_html_dom.php'); - а тут что за файлик?
     
  10. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    Re: Яндекс......

    ык
     
  11. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    Re: Яндекс......

    ок, пасиб, так $_GET['mn'] - ху из?
     
  12. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    Re: Яндекс......

    А код кинул эт вод код simpli_html_dom.php

    Добавлено спустя 1 минуту 9 секунд:
    А просто чтобы кто урл набрал не запустил скрипт)

    Добавлено спустя 45 минут 40 секунд:
    Кст капча не вводится из за того что тупо параметр перепутал имя его а так вводится)...
    Но надо куки добить
     
  13. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    Re: Яндекс......

    этта, полож обратно!!! :)

    ну или в личку кинь файлики. Спасибо!

    Добавлено спустя 59 минут 48 секунд:
    да, и колись как ты позицию той или иной ссылки вытаскиваешь!

    Добавлено спустя 22 минуты 49 секунд:
    Да, и еще прикольная штука:

    При поиске отдано предпочтение сайтам из Гонконга

    чеит он меня за китайца держит?
     
  14. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    Re: Яндекс......

    Сегодня буду доделывать как и сказал не совсем норм рабочий там надо доработать чуть и кину в лк...
    да, и колись как ты позицию той или иной ссылки вытаскиваешь! - я его писал не под позиции а под кэш яда а чтобы позиции тащились на функцию обработки менять там к примеру можно это в a_links запихнуть как допишу и позиции покажу
    ри поиске отдано предпочтение сайтам из Гонконга
    А это прокксивсе подряд есть россия есть китай сша там все подряд) надо российский ток прокси лист а мне для кэша чтоб вытащить было безразницы
     
  15. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    Re: Яндекс......

    а я ваще без прокси запускал (тыж их удалил, я не скопировал)...нице...поначалу по 60 страниц выдавало :) сейчас одна и каптча....после каптчи ваще тишина...может потому что локально...

    ну лан, ждем от тебя продолжения....
     
  16. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    Re: Яндекс......

    Эт поначалу а капча она через неск часов сама удаляется...
    Вообще в аудиторах чтоб меньше банили зажерэка в три секунды между запросывми..
    У себя я рандомайзом думаю добавлю от 1 до 4...
    Плюс ссылки будет ходить не 1 - 2 - 3 -4..
    А к примеру 1-4 -2 -3....
    Это чтоб капча быстро не кидалась...
    Сейчас с разбирусь ток с кой чем..

    Добавлено спустя 47 секунд:
    А тебе значит лучше под прокси заходить на рф который
     
  17. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    Re: Яндекс......

    Наконец работает и более не надо свои куки откуда то там копировать скрипт сам дергает...
    Щас тестю
     
  18. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    Re: Яндекс......

    малачина! держи в курсе событий!
     
  19. Gambit

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

    С нами с:
    4 июн 2012
    Сообщения:
    108
    Симпатии:
    0
    Re: Яндекс......

    ТС объясни что конкретно тебе парсить надо со странице яндекса? Ее полностью и для чего? И что ты потом с этим будешь делать? А то что-то я не вкурил. Заинтриговал, мб помогу.
     
  20. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    Re: Яндекс......

    Та я кэш яндекса парсил.. Все сейчас скрипт сработал как надо капча вводится опробовал ее не раз...
    Вродь все работает))