Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.09.2012, 17:50   #1
Tepper
Новичок
Джуниор
 
Регистрация: 18.09.2012
Сообщений: 5
По умолчанию Проблема с CURL.Бан Яндекса

Вообщем задача у меня была реализовать вывод проиндексированных страниц в Яндексе.Без curl Яндекс банит и просит капчу.Попоробывал с curl(до этого не имел с ним дела).Но результат тот-же.5-6 раз дает и бан пишет
Цитата:
"Нам очень жаль, но запросы, поступившие с вашего IP-адреса, похожи на автоматические. По этой причине мы вынуждены временно заблокировать доступ к поиску.
Чтобы продолжить поиск, пожалуйста, введите символы с картинки в поле ввода и нажмите «Отправить»."
,когда сам ищу все нормально.
Ведь curl должен эмулировать бразуер.Прошу помочь

PHP код:
error_reporting(E_ALL);
header('Content-type: text/html; charset=utf-8'); 
mb_internal_encoding('UTF-8');
function 
curlFunc($url){
 
$ch curl_init();
    
curl_setopt($chCURLOPT_HEADER0);
    
curl_setopt($chCURLOPT_URL$url);
    
curl_setopt($chCURLOPT_TIMEOUT10);
    
curl_setopt($chCURLOPT_USERAGENT"Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1");
    
curl_setopt($chCURLOPT_RETURNTRANSFER1);
    
curl_setopt($chCURLOPT_FOLLOWLOCATION1);

    
curl_setopt($chCURLOPT_ENCODING "gzip");
$result curl_exec($ch);
 
curl_close($ch);
return 
$result;

}
$h curlFunc('http://yandex.ru/yandsearch?text=site:'.$site.'&lr=1');


if(
preg_match_all("#нашлось(.*)ответа#iusU"$h$out2)){$getYaPages =  $out2[1][0];} 
if(
preg_match_all("#нашлось(.*)ответ#iusU"$h$out2)){$getYaPages =  $out2[1][0];} 
if(
preg_match_all("#нашлось(.*)тыс. ответов#iusU"$h$out2)){$getYaPages =  $out2[1][0]; $getYaPages $getYaPages*1000; } 

Последний раз редактировалось Tepper; 19.09.2012 в 17:54.
Tepper вне форума Ответить с цитированием
Старый 19.09.2012, 18:00   #2
Viteef
stopfake.org
Участник клуба
 
Регистрация: 03.05.2007
Сообщений: 1,927
По умолчанию

Используйте яндекс.xml - 1000 запросов в сутки с 1 IP.
Viteef вне форума Ответить с цитированием
Старый 19.09.2012, 18:08   #3
Tepper
Новичок
Джуниор
 
Регистрация: 18.09.2012
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Viteef Посмотреть сообщение
Используйте яндекс.xml - 1000 запросов в сутки с 1 IP.
Спасибо.Но все таки без него как нибудь можно?
Tepper вне форума Ответить с цитированием
Старый 19.09.2012, 20:14   #4
Viteef
stopfake.org
Участник клуба
 
Регистрация: 03.05.2007
Сообщений: 1,927
По умолчанию

Способов отличить бота от браузера хватает, бот не грузит изображения, стили, cookies, не выполняете javascript и т.д. И даже через браузер капчу тоже можно получить, если делать нетиповые запросы, так что проще запастись IP адресами и пользоваться XML.
Viteef вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Бан в игре Abuhamed Компьютерное железо 0 09.03.2012 14:31
бан доступа в NTFS meinung Win Api 6 09.03.2008 03:21