Как правильно парсить разные страницы на сайте с авторизацией?

Здравствуйте.

Есть необходимость распарсить некоторые данные в своём аккаунте одного сервиса. Для авторизации использую cURL, авторизоваться получилось хорошо, но возникло затруднение на стадии, когда надо ходить по нескольким категориям, в каждой категории есть пэйджер, где может быть ещё десяток страниц. Получается, что file_get_contents() использовать я не могу, а для каждой следующей страницы открывать новую сессия curl - на мой взгляд слишком жирно и по коду в том числе... Как аккуратно решить мою задачу? Как вообще люди поступают в таком случае? Может я какой-то момент упустил? Можете ли вы показать пример, как это сделать?

UPD:
Я надеялся, просто, что есть какая-то возможность авторизоваться, закрыть сессию cURL и далее уже обрабатывать данные, брать другие страницы и так далее вне сессии...
  • Вопрос задан
  • 4258 просмотров
Решения вопроса 2
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
зачем file_get_contents когда ты используешь curl? не закрывая сессию просто открываешь другую страницу

$handle = curl_init();
curl_setopt($handle, CURLOPT_URL, 'fantasyland.ru/login.php');
curl_setopt($handle, CURLOPT_POST, 1);
curl_setopt($handle, CURLOPT_POSTFIELDS, 'login=ххх&password=ххх');
curl_setopt($handle, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($handle, CURLOPT_HEADER, 0);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($handle, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($handle, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_exec($handle);

curl_setopt($handle, CURLOPT_URL, 'fantasyland.ru/cgi/v_trade_load_all.php');
$page = curl_exec($handle);
Ответ написан
@entermix
а для каждой следующей страницы открывать новую сессия curl - на мой взгляд слишком жирно


Обычные пользователи тоже открывают и закрывают сессию постоянно...

Вывод: делайте это с определенной периодичностью, чтобы имитировать действия обычного пользователя
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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