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

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

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

UPD:
Я надеялся, просто, что есть какая-то возможность авторизоваться, закрыть сессию cURL и далее уже обрабатывать данные, брать другие страницы и так далее вне сессии...
  • Вопрос задан
  • 4255 просмотров
Решения вопроса 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 - на мой взгляд слишком жирно


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

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

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

Войти через центр авторизации
Похожие вопросы
Ведисофт Екатеринбург
от 25 000 ₽
YCLIENTS Москва
от 200 000 до 350 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽