I have been using Google Finance for fetching index spot rates. I developed python code which I am attaching.
Be warned that while I developed this utility to be highly resource efficient with multithreading in mind, if you update it quicker than 5 seconds, then Google will kick you out for a few hours. Also there is a latency of 2-5 seconds for Google data, which is however much better than Yahoo.
Usage:
1. cd to the directory where the file is located
2. googdata.py NIFTY BANKNIFTY INDIAVIX RELIANCE SBIN {...}
3. Data is written in txt files inside C:\Data folder (created automagically if !exists), with the instrument name as the filename. For example NIFTY.txt, SBIN.txt, etc.
4. Customize the code to suit your need and use the data.
Of course ensure that you already have python installed and is added to your path.
Enjoy!
http://paste2.org/NAvWMbXG