Вы слышали о консоли YQL и datatables.org?Он обеспечивает доступ ко многим таблицам данных Yahoo (и других) с помощью запросов REST, возвращающих объекты XML или JSON.Есть хорошая таблица опций, к которой вы можете легко получить доступ, используя urllib в Python.Рассмотрим следующий пример:
>>> import urllib2
>>> import json
>>> url='http://query.yahooapis.com/v1/public/yql?q=SELECT%20*%20FROM%20yahoo.finance.options%20WHERE%20symbol%3D\"goog\"%20AND%20expiration%3D\"2011-08\"&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback='
>>> req = urllib2.Request(url)
>>> response = urllib2.urlopen(req)
>>> result = json.loads(response.read())
result - это объект json, содержащий все параметры для GOOG с истечением 2011-08.Если вы внимательно посмотрите в URL, вы увидите символ для Google и срок годности.Это может быть легко изменено программно.
>>> result['query']['results']['optionsChain']['option'][0]
{u'strikePrice': u'400', u'lastPrice': u'110.10', u'vol': u'1', u'type': u'C', u'symbol': u'GOOG110820C00400000', u'openInt': u'9', u'ask': u'90.5', u'changeDir': None, u'bid': u'87', u'change': u'0'}
>>> result['query']['results']['optionsChain']['option'][10]
{u'strikePrice': u'490', u'lastPrice': u'21.20', u'vol': u'350', u'type': u'C', u'symbol': u'GOOG110820C00490000', u'openInt': u'56', u'ask': u'21.3', u'changeDir': u'Down', u'bid': u'20.8', u'change': u'-6.9'}
Обратите внимание, что вы также можете вернуть результаты в XML.
Google "yql consol", нажмите на первую ссылку.На правой стороне нажмите на ссылку «Показать таблицы сообщества».Прокрутите вниз до Yahoo.Нажмите на yahoo.finance.options.Вы должны быть в состоянии выяснить остальное:)