あなたはYQLコンソールとdatatables.orgについて聞いたことがありますか? XMLやJSONオブジェクトを返すRESTリクエストを使用して、多数のYahoo(およびその他の)データテーブルにアクセスできます。 Pythonのurllibを使って簡単にアクセスできる素敵なオプションテーブルがあります。次の例を考えてみましょう:
>>> 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は、2011-08の有効期限を持つGOOGのすべてのオプションを含むjsonオブジェクトです。あなたが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をクリックします。あなたは残りを把握することができるはずです:)