Могу посоветовать попробовать пакет
spatie/crawler, который используется для обхода ссылок на сайте. Сам Spatie его использует для составления карты сайты через парсинг сайта. Если правильно помню, он работает через js (так как можно ему отправлять js код на выполнение).
Когда пытался спарсить некоторые данные с определенного сайта, тоже столкнулся с проблемой - там сайт грузится постфактум через js с проверкой, что это человек. Я использую Python-Selenium-WebDriver. А на этот пакет наткнулся уже позже и не проверял его.