Угу, такое бывает.
<a href="javascript:alert('clicked');">link</a>
Заместо alert'а, можно сделать window.location... и тогда будет перенаправление.
Также можно сделать <div onclick="..." ... и там в скрипте открывать ссылки тоже.
Также есть ajax, где данные не статичны, и тупо получая разметку из исходника - недостаточно, т.к. DOM динамически генерируется скриптом, пример: facebook, twitter, и многие другие.
Да и предлагать С++ для таких вещей - это как ассемблер или матлаб для деления в столбик. А node для серверного парсинга html'а - это как раз прямой и самый адекватный вариант для серверной стороны. Либо js для фронтенда (ну тут без вариантов) также самый нормальный и прямой способ.