Задать вопрос
hyget
@hyget

Как правильно парсить https?

Здравствуйте, делаю парсер сайта https
использую guzzle с прокси
но все-таки ловлю блокировку, которая пропадает минут через 10. если сделать без прокси, то будет такая ошибка в сертификате
5ab37b9f018fd967258530.png
$response = $client->get('https://site/page/'.$i, ['verify' => false,'delay'=> 3000,'proxy'=> ''.$proxy.'']);

подскажите в какую сторону копать? может наоборот нужно подкидывать сертификат?

1 прокси используется на 2 страницы, и так по кругу, можно конечно использовать много прокси, но я хотел бы понять в чем проблема)))

Когда пытаюсь отследить блокировку:
$response->getStatusCode() // возвращает 200 даже при блокировке.
$response->getReasonPhrase(); //ok, но при блокировке Fatal error: Uncaught GuzzleHttp\Exception\ConnectException
  • Вопрос задан
  • 807 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
JabbaHotep
@JabbaHotep
Пытаюсь минимизировать ручную работу
Попробуйте первым делом максимально замаскироваться под браузер (посылайте с запросом заголовки, аналогичные браузерным. Удостоверьтесь что от вас уезжает браузерный User-agent а не что-то типа "php-crawler". После забора каждой страницы чистите куки-jar (очень часто помогает). Делайте паузы между заборами страниц, тут можно экспериментировать от нескольких секунд до минут, делать их рандомными. По поводу сертификата, можно отключить проверку сертификата:

$this->client = new GuzzleClient(['verify' => false ]);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы