Yeah the output on refresh doesn't list current reported hashrate at the end (refresh is the equivalent of hitting 's' in the console of the miner). However, the reported GPU hashrate and shares do show in the log every 5 seconds. If you pull the data at an interval greater than 5 seconds you should be able to grep the gpu reported hashrate and shares 10 or so lines up.
Alternatively, JSONRPC works if you script it into your code. It is universal between Phoenix and Claymore so it should keep your code small as there would be no need to have different code for each miner. This can be achieved with netcat:
Problem is that json-rpc requires Ethman.exe which is only available on Windows. I figured out a way and am almost done with the development so I'll stick to the html output.
Im not sure that it does. I just ran the commands fine without having ethman running on one of my miners and it responded just fine.