PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (2): [1] 2 »

> Найдено сообщений: 16
RinaFolk Отправлено: 25 Ноября, 2014 - 15:34:59 • Тема: парсер yandex с решением captcha • Форум: Работа с сетью

Ответов: 22
Просмотров: 10253
Мелкий пишет:
Что в итоге отправляется (http-заголовки интересуют)? В логе куска с отправкой формы нет.


спустя столько времени с перерывом на госы, я таки добила эту выдачу в яндексе) все заработало)
поэтому спасибо вам за то, что не оставили без внимания мою тему)
RinaFolk Отправлено: 14 Ноября, 2014 - 13:24:36 • Тема: парсер yandex с решением captcha • Форум: Работа с сетью

Ответов: 22
Просмотров: 10253
Мелкий пишет:
Что в итоге отправляется (http-заголовки интересуют)? В логе куска с отправкой формы нет.


отправляется GET запрос..на решение каптчи..в логе я его почему то не наблюдаю вообще
(Добавление)
Мелкий пишет:
Что в итоге отправляется (http-заголовки интересуют)? В логе куска с отправкой формы нет.


в фидлере пробовала отправлять такой же GET запрос со всеми куками, которые в файле проверяла и заголовками..и было мне счастье..но в коде в чем то подвох..
(Добавление)
с гуглом как то было все проще...и разрешение каптчи там тоже без всяких запудриваний...
RinaFolk Отправлено: 14 Ноября, 2014 - 12:39:13 • Тема: парсер yandex с решением captcha • Форум: Работа с сетью

Ответов: 22
Просмотров: 10253
Мелкий пишет:
try 'http://yandex.ru/checkcaptcha?'.http_build_query($post)
Подозрение на некорректное урл-кодирование.


ответ приходит такой же как на пост запрос

HTTP/1.1 400 Bad request Transfer-Encoding: chunked

еще я случайно создала дубликат этой же темы на форуме и не знаю как ее удалить)) извините)
(Добавление)
Мелкий пишет:
try 'http://yandex.ru/checkcaptcha?'.http_build_query($post)
Подозрение на некорректное урл-кодирование.


получила новый ответ, такой же как и был раньше..несуществующая страничка
RinaFolk Отправлено: 14 Ноября, 2014 - 10:55:18 • Тема: парсер yandex с решением captcha • Форум: Работа с сетью

Ответов: 22
Просмотров: 10253
and_07 пишет:
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. //как понимаю тут ломаем капчу antigateRecognize
  4. $result_key=iconv('utf-8','windows-1251',$addur->antigateRecognize($filename));
  5.  
  6.  
  7. //формируем массив для отправки
  8. $post=array("key"=>$key,"retpath"=>$retpath,"rep"=>$result_key);
  9.  
  10. //print_r($post); die();
  11.  
  12. //отправляем данные из $post методом GET
  13. $output=$this->get_curl_info('http://yandex.ru/checkcaptcha?key='.$post['key'].'&retpath='.$post['retpath'].'&rep='.$post['rep'].'');
  14.  
  15.  print_r($output); die();


а теперь вопрос
вы уверены что отправлять нужно GET?

если вбить полученный урл в браузере что выводит?


если вбить полученный урл, то выдает нужную страничку.
что отправлять нужно гет уверена, это уже проверено и вручную и через фидлер.
ответ на пост запрос приходит такой HTTP/1.1 400 Bad request Transfer-Encoding: chunked
(Добавление)
доп информация..
при запроса доп данных

curl_setopt($ch, CURLOPT_VERBOSE, true);
$verbose = fopen($path_up.'modules/temp', 'w+');
curl_setopt($ch, CURLOPT_STDERR, $verbose);

я конечно не совсем уверена, но мне показалось, что происходит разрыв данных, либо неправильное распознавание моего запроса..

ответ:

* About to connect() to yandex.ru port 80 (#0)
* Trying 93.158.134.11... * connected
* Connected to yandex.ru (93.158.134.11) port 80 (#0)
> GET /yandsearch?text=%D1%87%D1%82%D0%BE-%D1%82%D0%BE&lr=43 HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:33.0) Gecko/20100101 Firefox/33.0
Host: yandex.ru
Accept: */*
Cookie: spravka=dD0xMzg0NDE1NDg4O2k9MTg4LjE2Mi4zOS4xMDt1PTEzODQ0MTU0ODgxMDQxMDYxOTc7aD01NDFmMDM2YWU2NzU3ZWI2ZjEwNzU3NTFjN2ExODljZg==; yandexuid=2962117921415954996
Referer: http://www[dot]yandex[dot]ru/

< HTTP/1.1 302 Moved temporarily
< Location: http://yandex[dot]ru/showcaptcha?ret[dot][dot][dot]090fd83a305159ff
< Transfer-Encoding: chunked
<
* Ignoring the response-body
* Connection #0 to host yandex.ru left intact
* Issue another request to this URL: 'http://yandex.ru/showcaptcha?retpath=http%3A//yandex.ru/yandsearch%3Ftext%3D%25D1%2587%25D1%2582%25D0%25BE-%25D1%2582%25D0%25BE%26lr%3D43_941efd68124e4163e2e9265578ca115d&t=0/1415955533/0e6f3bf7103a5703d823dda7babd52c2&s=f6965aa0c0d3f8cd090fd83a305159ff'
* Re-using existing connection! (#0) with host yandex.ru
* Connected to yandex.ru (93.158.134.11) port 80 (#0)
> GET /showcaptcha?retpath=http%3A//yandex.ru/yandsearch%3Ftext%3D%25D1%2587%25D1%2582%25D0%25BE-%25D1%2582%25D0%25BE%26lr%3D43_941efd68124e4163e2e9265578ca115d&t=0/1415955533/0e6f3bf7103a5703d823dda7babd52c2&s=f6965aa0c0d3f8cd090fd83a305159ff HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:33.0) Gecko/20100101 Firefox/33.0
Host: yandex.ru
Accept: */*
Cookie: spravka=dD0xMzg0NDE1NDg4O2k9MTg4LjE2Mi4zOS4xMDt1PTEzODQ0MTU0ODgxMDQxMDYxOTc7aD01NDFmMDM2YWU2NzU3ZWI2ZjEwNzU3NTFjN2ExODljZg==; yandexuid=2962117921415954996
Referer: http://www[dot]yandex[dot]ru/

< HTTP/1.1 200 Ok
< Content-Length: 9277
<
* Connection #0 to host yandex.ru left intact
* Closing connection #0
RinaFolk Отправлено: 14 Ноября, 2014 - 08:49:16 • Тема: парсер yandex с решением captcha • Форум: Работа с сетью

Ответов: 22
Просмотров: 10253
and_07 пишет:
Не понятно для чего вам это нужно
у яндекса есть свой API для разработчика

если нужно эмулировать пользователя вы выбрали не очень хороший вариант


под api вы подразумеваете получение xml?
простите, если не правильно поняла..
я просто пока не так много знаю..

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

практически верно, но есть случаи когда нужно емулировать действия вместо использования АПИ. как пример фесбук. был проект где в форме пользователя стояло поле которое отсутсвувало в АПИ.

По сажу виведите все что возвращает curl в браузер и посмотрите есть ли там капча


каптча приходит, все верно, и я достаю все данные для ее разрешения, но ответ есть несуществующая страничка
(Добавление)
делала эту имитацию в фидлере, все работает..перепроверила то, что отправляю я сама, все тоже самое..
RinaFolk Отправлено: 13 Ноября, 2014 - 13:34:15 • Тема: парсер yandex с решением captcha • Форум: Работа с сетью

Ответов: 22
Просмотров: 10253
Мелкий пишет:
А я считаю неправильным спамить одинаковыми сообщениями.
И с пунктом 1.16 действующих правил вы должны быть ознакомлены, поскольку зарегистрированы.


хорошо. тогда приношу свои извенения. я не сидела раньше на форумах.
(Добавление)
Мелкий пишет:
А я считаю неправильным спамить одинаковыми сообщениями.
И с пунктом 1.16 действующих правил вы должны быть ознакомлены, поскольку зарегистрированы.


а вы случайно не знаете, как решить мою проблему?...нигде ответов нет...и я сама не пойму...кто то направил на яндекс апи, но я не совсем понимаю, как пользоваться данным инструментом
RinaFolk Отправлено: 13 Ноября, 2014 - 13:18:30 • Тема: парсер yandex с решением captcha • Форум: Работа с сетью

Ответов: 22
Просмотров: 10253
Мелкий пишет:
Эта тема есть.


про свою тему я и так прекрасно знаю, но удалять сообщения с имеющихся, по похожей тематике, я считаю как то неправильно
RinaFolk Отправлено: 13 Ноября, 2014 - 13:10:51 • Тема: парсер yandex с решением captcha • Форум: Работа с сетью

Ответов: 22
Просмотров: 10253
Мелкий пишет:
Потому что тема уже есть.


те, которые я нашла, устарели
RinaFolk Отправлено: 13 Ноября, 2014 - 12:36:59 • Тема: Вызов чекбокса • Форум: JavaScript & VBScript

Ответов: 2
Просмотров: 522
Vovan6996 пишет:
Подскажите пожалуйста. Имеется код.
PHP:
скопировать код в буфер обмена
  1.  
  2. <label style="float: left;" >Ночной*&nbsp;&nbsp;&nbsp;&nbsp;</label>
  3.    <div style="float: center; width: 49%;" class="input" id="cor3" >
  4.    <input value="" id="posAdult1" name="noch" type="text" />
  5.    <script >
  6.     var input = document.getElementById('posAdult1'),
  7.         parent = input.parentNode,
  8.         select = document.createElement('SELECT');
  9.      
  10.     select.id = input.id;
  11.     select.name = input.name;
  12.     select.options.add(new Option('---'));    
  13.     select.options.add(new Option('Подключить'));
  14.     select.options.add(new Option('Отключить'));
  15.    
  16.      
  17.     parent.insertBefore(select, input);
  18.     parent.removeChild(input);
  19. </script>
  20.  

как сделать что бы при вызове "Подключить" появлялся инпут чекбокс


не совсем конечно поняла..но по сути ты должен просто через getElementById ставишь к нужному чекбоксу значение отмечен(при нужном тебе условии действия)
RinaFolk Отправлено: 13 Ноября, 2014 - 12:32:11 • Тема: парсер yandex с решением captcha • Форум: Работа с сетью

Ответов: 22
Просмотров: 10253
почему удаляют мои сбщ и темы?( где справедливость?
(Добавление)
P.S. прошу не судить строго, ибо программирую на php не так долго
RinaFolk Отправлено: 13 Ноября, 2014 - 12:07:44 • Тема: парсер yandex с решением captcha • Форум: Работа с сетью

Ответов: 22
Просмотров: 10253
Здравствуйте!
возникла проблема в парсинге яндекса.
парсер xml уже есть, теперь нужен парсер в лоб.
не получается отправить запрос на решение captcha, в ответ приходит, что страница не найдена.
буду рада помощи
листинг:
PHP:
скопировать код в буфер обмена
  1. $query_utf8 = urlencode(iconv('windows-1251','utf-8',$query));
  2.                 $region_utf8 = urlencode(iconv('windows-1251','utf-8',$region));
  3.                 $cookiefile = dirname(__FILE__)."/_cookie_position.txt";
  4.                 $user_agent="Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36";
  5.                
  6.                 $sizeof_proxy_list = sizeof($this->proxy_list);
  7.  
  8.                 $search=array("text"=>urlencode($query_utf8),
  9.                                           "numdoc"=>$results_per_page,
  10.                                           "lr"=>$region_utf8);
  11. $setopt_url='http://yandex.ru/yandsearch?text='.$search['text'].'&p='.$j.'&numdoc='.$search['numdoc'].'&lr='.$search['lr'].'';
  12.                                        
  13.  
  14.                                         $output=$this->get_curl_info($setopt_url);
  15.  
  16.  
  17.                                         if(strpos($output,'<form action="/checkcaptcha" method="GET">')!=false)
  18.                                         {
  19.                                                 $addur=new addurl;
  20.                                                 $key=getTag('<input type="hidden" name="key" value="','">',$output);
  21.                                                 $retpath=getTag('<input type="hidden" name="retpath" value="','">',$output);
  22.                                                 $filename=$addur->saveCaptcha(getTag('<img src="','" class="b-captcha__image">',$output));
  23.                                                 $result_key=iconv('utf-8','windows-1251',$addur->antigateRecognize($filename));
  24.                                                 $post=array("key"=>$key,
  25.                                                                         "retpath"=>$retpath,
  26.                                                                         "rep"=>$result_key);
  27.                                                 //print_r($post); die();
  28.                                                 $output=$this->get_curl_info('http://yandex.ru/checkcaptcha?key='.$post['key'].'&retpath='.$post['retpath'].'&rep='.$post['rep'].'');
  29.                                                 print_r($output); die();
  30.                                         }
  31.  
  32. function get_curl_info($url,$post="")
  33.         {
  34.                 $path_up = "../";
  35.                 $user_agent="Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36";
  36.                 $cookiefile = dirname(__FILE__)."/_cookie_position.txt";
  37.  
  38.                 $ch = curl_init();
  39.                 curl_setopt($ch, CURLOPT_URL, $url);
  40.                 curl_setopt($ch, CURLOPT_HTTPGET, 1);
  41.                 curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
  42.                 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  43.                 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  44.                 curl_setopt($ch, CURLOPT_HEADER, 0);
  45.                 curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
  46.                 //curl_setopt($ch, CURLOPT_HTTPHEADER, array($referer_new));
  47.                 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  48.                 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);
  49.                 curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile);
  50.                 curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile);
  51.                 curl_setopt($ch, CURLOPT_VERBOSE, true);
  52.                 $verbose = fopen($path_up.'modules/temp', 'w+');
  53.                 curl_setopt($ch, CURLOPT_STDERR, $verbose);
  54.                 curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
  55.                 //curl_setopt($ch, CURLOPT_FRESH_CONNECT, FALSE);
  56.                 //curl_setopt($ch, CURLOPT_NOBODY,true);
  57.                 curl_setopt($ch, CURLOPT_REFERER, $url);
  58.                 if (is_array($post))
  59.                 {
  60.                         curl_setopt($ch, CURLOPT_POST,1); //Будем отправлять POST запрос
  61.                         $query=http_build_query($post);
  62.                         curl_setopt($ch, CURLOPT_POSTFIELDS,$query);
  63.                 }
  64.  
  65.                 $data = curl_exec($ch);
  66.                 return $data;
  67.         }
  68.  


P.S. не судите строго, программирую на php не так давно

Страниц (2): [1] 2 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB