Python-为一系列日期获取公司的股票信息

时间:2011-07-22 22:59:24

标签: javascript python json finance

尝试获取的不仅仅是当前时间段的股票信息,而且我无法确定Google财经是否允许检索超过一个日期的信息。例如,如果我想在过去30天内查找Google Stock值并将该数据作为列表返回...我将如何进行此操作?

使用下面的代码只能获得一个值:

class GoogleFinanceAPI:
    def __init__(self):
        self.prefix = "http://finance.google.com/finance/info?client=ig&q="

    def get(self,symbol,exchange):
        url = self.prefix+"%s:%s"%(exchange,symbol)
        u = urllib2.urlopen(url)
        content = u.read()

        obj = json.loads(content[3:])
        return obj[0]


c = GoogleFinanceAPI()
quote = c.get("MSFT","NASDAQ")
print quote

2 个答案:

答案 0 :(得分:2)

以下是从Google财经获取历史价值的方法:

http://code.activestate.com/recipes/576495-get-a-stock-historical-value-from-google-finance/

看起来它以.csv格式返回数据。

编辑:这是您修改的脚本以获取.csv。它对我有用。

import urllib2
import csv

class GoogleFinanceAPI:
    def __init__(self):
        self.url = "http://finance.google.com/finance/historical?client=ig&q={0}:{1}&output=csv"
    def get(self,symbol,exchange):
        page = urllib2.urlopen(self.url.format(exchange,symbol))
        content = page.readlines()
        page.close()
        reader = csv.reader(content)
        for row in reader:
            print row

c = GoogleFinanceAPI()
c.get("MSFT","NASDAQ")

答案 1 :(得分:1)

前进的最佳方式是使用Google提供的API。具体来说,查找返回参数,您可以在其中指定所需的时间。

相反,如果你想通过Python做到这一点,找出日期条目所在的查询模式,并将其替换为URL并进行GET,解析结果并将其包含在结果列表中。