Дело не в языке. А в инструменте.
Например Scrapy - отличный инструмент. Он на Python. Но думаю есть и на PHP и JS (Node) нужно только поискать.
Если же речь о полной эмуляции JS, то тогда да, только JS.
Но не NodeJS - это по сути косольный JS.
А headless-браузер на JS - это и обеспечивает полную эмуляцию DOM браузера и полное управление. Например, PhantomJS. Но если для парзинга сайта не нужна полная эмуляция DOM (сайт не является сайтом с навороченным AJAX), то нет необходимости в PhantomJS
Тогда ищи просто удобную библиотеку для твоего любимого языка...