尝试获取的不仅仅是当前时间段的股票信息,而且我无法确定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
答案 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,解析结果并将其包含在结果列表中。