- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Доброго времени суток!
Пишу парсер выдачи результатов поиска гугла. Вроде бы несложно.
Аналогичный парсер яши и мэйл работает.
Но возникла проблема при скачивании картинки капчи.
Упорно выдает 403 forbidden.
Делаю запрос к гуглу:
$url = 'https://www.google.ru/search?complete=1&hl=ru&q='.urlencode($query)...
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_PROXY, $host.":".$port);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $login.":".$pass);
$content = curl_exec($ch);
Далее если получил редрект:
if(curl_getinfo($ch, CURLINFO_HTTP_CODE) == 302)
{
// .................
// Выдираю картинку капчи и пытаюсь ее скачать
// .................
$captcha_image = 'http://ipv4.google.com/'.$image;
$fh = fopen($captcha_file, 'w');
curl_setopt($ch, CURLOPT_URL, $captcha_image);
curl_setopt($ch, CURLOPT_FILE, $fh);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_exec ($ch);
fclose($fh);
Но вместо картинки получаю 403 forbidden.
}
curl_close($ch);
Пробовал при запросе картинки заново инициализировать сеанс cURL.
Результат тот же.
Содержимое файла $cookie_file_path:
# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.
#HttpOnly_.google.ru TRUE / FALSE 1490269969 NID 87=m8iayuoh4X_H9kTM4zNlYrVmavd0qd7X6Bj1mbyZwrn23e-BQyA-GlNYBsV9iKq5cVj1ZrB9770cWf036kdakSC3tvlDIu_KVpf8yN5ilKkUk8iHAMbi_QZqD7Inlxs3
Заголовки указывал:
$a_headers[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
$a_headers[] = 'Accept-Encoding: gzip, deflate';
$a_headers[] = 'Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3';
$a_headers[] = 'Connection: keep-alive';
$a_headers[] = 'Host: ipv4.google.com';
$a_headers[] = 'Proxy-Authorization: Basic cnU2MDc0MDpDNEJkWk1EMTJE';
$a_headers[] = 'Upgrade-Insecure-Requests: 1';
$a_headers[] = 'User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)';
Результат тот же