首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在python中创建股票行情获取应用

如何在python中创建股票行情获取应用
EN

Stack Overflow用户
提问于 2011-02-23 01:37:47
回答 8查看 66.7K关注 0票数 17

我对使用Python编程非常陌生。

我想做一个应用程序,这将google finance获取股票价格。CSCO (Cisco Sytems)就是一个例子。然后,我将使用这些数据在股票达到某个值时向用户发出警告。它还需要每30秒刷新一次

问题是我不知道如何获取数据!

有谁有什么想法吗?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-02-23 01:45:03

此模块由Corey Goldberg提供。

程序:

代码语言:javascript
复制
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

示例用法:

代码语言:javascript
复制
import stockquote
print stockquote.get_quote('goog')

更新:更改正则表达式以匹配谷歌财经的最新格式(截至2011年2月23日)。这说明了依赖屏幕抓取时的主要问题。

票数 16
EN

Stack Overflow用户

发布于 2015-03-03 22:25:20

到目前为止(2015年),google finance api已被弃用。但是您可以使用pypi模块googlefinance

安装googlefinance

代码语言:javascript
复制
$pip install googlefinance

很容易获得当前的股票价格:

代码语言:javascript
复制
>>> 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"
  }
]

谷歌财经是一个提供实时股票数据的来源。还有来自雅虎的其他API,比如yahoo-finance,但纽约证券交易所和纳斯达克股票的API延迟了15分钟。

票数 13
EN

Stack Overflow用户

发布于 2013-10-01 23:55:52

代码语言:javascript
复制
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_(.*?)">(.*?)<', content)
    if m:
        quote = m.group(2)
    else:
        quote = 'no quote available for: ' + symbol
    return quote

我发现如果你使用ref_(.*?)并且使用m.group(2)会得到更好的结果,因为引用id会随着股票的不同而变化。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5081710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档