[This answer](https://bitcoin.stackexchange.com/a/19108/18196) provides a good description of a task similar to what you are trying to accomplish. 

[This wiki page](https://en.bitcoin.it/wiki/Script) shows how scripts are serialized and deserialized. It's actually not very hard to extract the raw opcodes from the script by hand, especially if you know it's a standard type of script.

But, you may use https://chainquery.com/bitcoin-api/decodescript and paste in the raw hex of the scriptSig for a more automated solution. The parsed opcodes will be in the `result.asm` field, including any raw data (such as signatures and pubkeys) separated by spaces. If you look for the element(s) of the script that start with 02/03/04, that will be the public key.