Ale*_*ex 13 python google-finance
我是Python新手编程的新手.
我想创建一个从谷歌财务中获取股票价格的应用程序.一个例子是CSCO (Cisco Sytems).然后我会使用该数据在库存达到某个值时警告用户.它还需要每30秒刷新一次.
问题是我不知道如何获取数据!
有人有主意吗?
Ben*_*ein 16
该模块由Corey Goldberg提供.
程序:
import urllib
import re
def get_quote(symbol):
base_url = 'http://finance.google.com/finance?q='
content = urllib.urlopen(base_url + symbol).read()
m = re.search('id="ref_694653_l".*?>(.*?)<', content)
if m:
quote = m.group(1)
else:
quote = 'no quote available for: ' + symbol
return quote
Run Code Online (Sandbox Code Playgroud)
样品用法:
import stockquote
print stockquote.get_quote('goog')
Run Code Online (Sandbox Code Playgroud)
更新:更改了正则表达式以匹配Google财经的最新格式(截至2011年2月23日).这说明了依赖屏幕抓取时的主要问题.
hon*_*tao 13
至于现在(2015年),谷歌财务api已被弃用.但你可以使用pypi模块googlefinance.
安装googlefinance
$pip install googlefinance
Run Code Online (Sandbox Code Playgroud)
很容易获得当前股票价格:
>>> from googlefinance import getQuotes
>>> import json
>>> print json.dumps(getQuotes('AAPL'), indent=2)
[
{
"Index": "NASDAQ",
"LastTradeWithCurrency": "129.09",
"LastTradeDateTime": "2015-03-02T16:04:29Z",
"LastTradePrice": "129.09",
"Yield": "1.46",
"LastTradeTime": "4:04PM EST",
"LastTradeDateTimeLong": "Mar 2, 4:04PM EST",
"Dividend": "0.47",
"StockSymbol": "AAPL",
"ID": "22144"
}
]
Run Code Online (Sandbox Code Playgroud)
Google财经是提供实时股票数据的来源.还有来自雅虎的其他API,例如雅虎融资,但纽约证券交易所和纳斯达克股票的延迟时间为15分钟.
| 归档时间: |
|
| 查看次数: |
60917 次 |
| 最近记录: |