Да, это возможно. Он называется Web Scraping и встречается довольно часто.
Как вы узнали, это невозможно сделать на стороне клиента с помощью JavaScript из-за ограничений безопасности.
На стороне сервера у вас есть два варианта. a) Загрузите реальный браузер и перемещайтесь по веб-сайту так же, как это сделал бы пользователь, или b) Используйте безголовый браузер, который в основном представляет собой библиотеку, имитирующую настоящий браузер.
Использование браузера без головы
В целом, это более быстрый и простой подход, но он может не работать для сложных веб-сайтов, которые зависят от javascript.
Для Java HTMLUnit - отличная библиотека. Держите под рукой запрос / ответ fiddler, поскольку возможно, что браузер отправляет файлы cookie или заголовки, отличные от HtmlUnit. Как правило, если вы сопоставляете все заголовки, которые отправляет браузер, веб-сайт ответит правильно.
Использование актуального браузера
Используйте это, только если ваши попытки с безголовым браузером потерпят неудачу. Этот подход вызывает браузер и перемещается по сайту так же, как и пользователь.
Для этой цели вы можете использовать Selenium / WebDriver. Имейте в виду, что запуск браузера в серверной среде на самом деле требует больших ресурсов и занимает больше времени.