If a person would stake coins/tokens in a pool, and the website would go offline at some future time, is it possible to programmatically remove the staked coins from the pool?
If so, how is this done?
Yes, I'm afraid I can't explain further about that.
I'm assuming you would need the coin's smart contract address and knowledge of the functions in the contract. This can be normally gained from looking at the address in a blockchain explorer, correct?
Correct
Are there other ways to view the functions of a smart contract other than a blockchain explorer?
The platform source code, pretty much you can look it up on Github.
It was my hope that someone with some knowledge would be helpful enough to point me in the right direction so that I don't spend time re-inventing the wheel.
I surmised that it was programmatically possible, and have quite an extensive background with Python (just not in the Web3 space).
If you don't want to reinvent the wheel, you can simply just build or run locally the frontend/interface. Take a look at the Github page of any platform. Usually, most of them are listing their smart contract code, SDK, frontend, etc.
As an example:
Uniswap interface:
https://github.com/Uniswap/interfacePancake frontend:
https://github.com/pancakeswap/pancake-frontend