Yes - Unless you are parsing static HTML you will need the rest of the browser's functionality which is implemented as a JavaScript engine. You will also need the original content from the website which will be in JavaScript.
In theory you could recreate this in another language such as Python but you would have to both parse the JavaScript from the website and implement a full browser.
No, phantomjs includes a webserver module. That's what ghostdriver uses to implement the WebDriver API and you can use it to implement a custom API that you call from Python. So you have to use JavaScript to implement the API, but you can use Python to implement your tests or web data extraction or whatever your actual task is.
In theory you could recreate this in another language such as Python but you would have to both parse the JavaScript from the website and implement a full browser.