@nethole741

Парсинг данных по api. Как получить большое количество данных?

Здравствуйте, такой вопрос как можно получить данные в большом объеме с шагом. Нужно получить около 130 000 значений точное количество может быть неизвестно, за 1 раз можно получить только 1000 значений. Надо чтобы он потом начинал с 1000 до 2000 и так далее для дальнейшего получения id. И можно ли это сделать средствами php? Потому что так посудить будут мешать тайминги. Вот сам код
$file = $api->getFilesList($a[$i], 1000, 0, ['date_created'=>-1]);

Вот пример массива
Array
(
    [status] => success
    [code] => 200
    [files] => Array
        (
            [0] => Array
                (
                    [id] => 9644cf5ebd85e
                    [name] => name1.mp4
                    [is_available] => 1
                    [is_folder] => 
                    [date_created] => 2021-03-14 23:53:42
                    [size] => 347925848
                    [md5] => b2b660612c87d693983ce64d4ce28b76
                )

            [1] => Array
                (
                    [id] => 8659059dbce71
                    [name] => name2.mp4
                    [is_available] => 1
                    [is_folder] => 
                    [date_created] => 2021-03-14 23:53:01
                    [size] => 292391969
                    [md5] => 83132a8d3f55ccb0c90fa19312f02688
                )

            [2] => Array
                (
                    [id] => 8b374ca87ad21
                    [name] => name3.mp4
                    [is_available] => 1
                    [is_folder] => 
                    [date_created] => 2021-03-10 01:08:45
                    [size] => 602223831
                    [md5] => d025abafde70d46dface6bdd14ca913e
                )
  • Вопрос задан
  • 113 просмотров
Решения вопроса 1
@nethole741 Автор вопроса
Нашел решение изменять параметр offset в api
$v = 0;
while (true) {
    	$file = $api->getFilesList($a[$i], 1000, $v*1000, ['date_created'=>-1]);
    	if (count($file['files']) == 0) {
    		break;
    	}
    	$v++;
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
Если нужно запустить долгоиграющий скрипт - запускайте его через CLI
https://www.php.net/manual/ru/features.commandline...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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