Нужно собрать содержимое всех страниц в одну кучу.
Поисковики правильно делают оптимизируя доступ. И если ты будешь качать все 5 млн результатов
- это дорогой response получается для ресурсов гугла.
У гугла есть custom search JSON API который просто предоставляет стандартный API на базе REST
где тоже pagination но уже парсить ничего не надо и можно заниматься склейкой коллекций в один
поток.