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

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

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

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

UPD:
Я надеялся, просто, что есть какая-то возможность авторизоваться, закрыть сессию cURL и далее уже обрабатывать данные, брать другие страницы и так далее вне сессии...
  • Вопрос задан
  • 4261 просмотр
Подписаться 1 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 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 - на мой взгляд слишком жирно


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

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽