Lazy JSON Pages — це API-скрепер, який не прив'язаний до конкретних фреймворків і дозволяє завантажувати елементи з будь-якого пагінованого JSON API у "ліниві" колекції Laravel. Інструмент має високу налаштовуваність, тому ви можете використовувати його в будь-якому PHP-проєкті з пагінованими результатами JSON:
use Illuminate\Support\LazyCollection;
$result = LazyCollection::fromJsonPages($source)
->totalPages('pagination.total_pages')
->async(requests: 3)
->throttle(requests: 100, perMinutes: 1)
->collect('data.*');
Хоча Lazy JSON Pages повертає дані у вигляді "лінивих" колекцій Laravel, ви також можете використовувати цей пакет у будь-якому PHP-проєкті. Завдяки використанню Guzzle ви легко можете налаштувати поведінку клієнта за допомогою проміжного програмного забезпечення, яке необхідне для вашого API.
Деталі про пакет, інструкції з установки та код можна знайти на GitHub.