python股票行情查询
python行情查询,可以获取当前股票行情信息。
#!/usr/local/bin/python3
#coding=utf-8import os, io, sys, re, time, json, base64
import webbrowser, urllib.requestperiod_All_List = ["min", #分时线"daily", #日K线"weekly", #周K线"monthly" #月K线]
period_min = period_All_List[0]
period_daily = period_All_List[1]ChinaStockIndexList = ["000001", # sh000001 上证指数"399001", # sz399001 深证成指"000300", # sh000300 沪深300"399005", # sz399005 中小板指"399006", # sz399006 创业板指"000003", # sh000003 B股指数
]
ChinaStockIndividualList = ["000063", # 中兴通讯"600036", # 招商银行
]#WorldStockIndexList = [# {'code':"000001", 'yahoo':"000001.SS",'name':{'chinese':"中国上证指数", 'english':"CHINA SHANGHAI COMPOSITE INDEX"}},# {'code':"399001", 'yahoo':"399001.SZ",'name':{'chinese':"中国深证成指", 'english':"SZSE COMPONENT INDEX"}}#{'code':"DJI", 'yahoo':"^DJI",'name':{'chinese':"美国道琼斯工业平均指数", 'english':"Dow Jones Industrial Average"}},#{'code':"IXIC", 'yahoo':"^IXIC",'name':{'chinese':"美国纳斯达克综合指数", 'english':"NASDAQ Composite"},},# {'code':"GSPC", 'yahoo':"^GSPC",'name':{'chinese':"美国标准普尔500指数", 'english':"S&P 500"}},#{'code':"N225", 'yahoo':"^N225",'name':{'chinese':"日本日经225指数", 'english':"NIKKEI 225"}},#{'code':"TWII", 'yahoo':"^TWII",'name':{'chinese':"台湾台北加权指数", 'english':"TSEC weighted index"}},# {'code':"HSI", 'yahoo':"^HSI",'name':{'chinese':"香港恒生指数", 'english':"HANG SENG INDEX"}},# {'code':"FCHI", 'yahoo':"^FCHI",'name':{'chinese':"法国CAC40指数", 'english':"CAC 40"}},# {'code':"FTSE", 'yahoo':"^FTSE",'name':{'chinese':"英国富时100指数", 'english':"FTSE 100"}},# {'code':"GDAXI", 'yahoo':"^GDAXI",'name':{'chinese':"德国法兰克福DAX指数", 'english':"DAX"}#]
#WorldStockIndexList_SP500 = WorldStockIndexList[7]#国内股票数据:指数
def getChinaStockIndexInfo(stockCode, period):try:exchange = "sz" if (int(stockCode) // 100000 == 3) else "sh"#http://hq.sinajs.cn/list=s_sh000001dataUrl = "http://hq.sinajs.cn/list=s_" + exchange + stockCodestdout = urllib.request.urlopen(dataUrl)stdoutInfo = stdout.read().decode('gb2312')tempData = re.search('''(")(.+)(")''', stdoutInfo).group(2)stockInfo = tempData.split(",")#stockCode = stockCode,stockName = stockInfo[0]stockEnd = stockInfo[1] #当前价,15点后为收盘价stockZD = stockInfo[2] #涨跌stockLastEnd= str(float(stockEnd) - float(stockZD)) #开盘价stockFD = stockInfo[3] #幅度stockZS = stockInfo[4] #总手stockZS_W = str(int(stockZS) / 100)stockJE = stockInfo[5] #金额stockJE_Y = str(int(stockJE) / 10000)content = "#" + stockName + "#" + "(" + str(stockCode) + ")" + " 收盘:" \+ stockEnd + ",涨跌:" + stockZD + ",幅度:" + stockFD + "%" \+ ",总手:" + stockZS_W + "万" + ",金额:" + stockJE_Y + "亿" + " "imgPath = "http://image.sinajs.cn/newchart/" + period + "/n/" + exchange + str(stockCode) + ".gif"twitter = {'message': content, 'image': imgPath}except Exception as e:print(">>>>>> Exception: " + str(e))else:return twitterfinally:None#国内股票数据:个股
def getChinaStockIndividualInfo(stockCode, period):try:exchange = "sh" if (int(stockCode) // 100000 == 6) else "sz"dataUrl = "http://hq.sinajs.cn/list=" + exchange + stockCodestdout = urllib.request.urlopen(dataUrl)stdoutInfo = stdout.read().decode('gb2312')tempData = re.search('''(")(.+)(")''', stdoutInfo).group(2)stockInfo = tempData.split(",")#stockCode = stockCode,stockName = stockInfo[0] #名称stockStart = stockInfo[1] #开盘stockLastEnd= stockInfo[2] #昨收盘stockCur = stockInfo[3] #当前stockMax = stockInfo[4] #最高stockMin = stockInfo[5] #最低stockUp = round(float(stockCur) - float(stockLastEnd), 2)stockRange = round(float(stockUp) / float(stockLastEnd), 4) * 100stockVolume = round(float(stockInfo[8]) / (100 * 10000), 2)stockMoney = round(float(stockInfo[9]) / (100000000), 2)stockTime = stockInfo[31]content = "#" + stockName + "#(" + stockCode + ")" + " 开盘:" + stockStart \+ ",最新:" + stockCur + ",最高:" + stockMax + ",最低:" + stockMin \+ ",涨跌:" + str(stockUp) + ",幅度:" + str(stockRange) + "%" \+ ",总手:" + str(stockVolume) + "万" + ",金额:" + str(stockMoney) \+ "亿" + ",更新时间:" + stockTime + " "imgUrl = "http://image.sinajs.cn/newchart/" + period + "/n/" + exchange + str(stockCode) + ".gif"twitter = {'message': content, 'image': imgUrl}except Exception as e:print(">>>>>> Exception: " + str(e))else:return twitterfinally:None#全球股票指数
def getWorldStockIndexInfo(stockDict):try:#http://download.finance.yahoo.com/d/quotes.csv?s=^IXIC&f=sl1c1p2lyahooCode = stockDict['yahoo']dataUrl = "http://download.finance.yahoo.com/d/quotes.csv?s=" + yahooCode + "&f=sl1c1p2l"stdout = urllib.request.urlopen(dataUrl)stdoutInfo = stdout.read().decode('gb2312')tempData = stdoutInfo.replace('"', '')stockInfo = tempData.split(",")stockNameCn = stockDict['name']['chinese']stockNameEn = stockDict['name']['english']stockCode = stockDict['code']stockEnd = stockInfo[1] #当前价,5点后为收盘价stockZD = stockInfo[2] #涨跌stockLastEnd= str(float(stockEnd) - float(stockZD)) #开盘价stockFD = stockInfo[3] #幅度percent = float(stockFD.replace("%", ""))matchResult = re.search("([\w?\s?:]*)(\-)", stockInfo[4]) #日期和最新值stockDate = matchResult.group(1)content = "#" + stockNameCn + "# " + stockNameEn + "(" + stockCode + ")" \+ " 当前:" + stockEnd + ", 涨跌:" + stockZD + ", 幅度:" + stockFD \+ ", 最后交易时间:" + stockDatetwitter = contentexcept Exception as err:print(">>>>>> Exception: " + yahooCode + " " + str(err))else:return twitterfinally:Nonedef test_china_index_data():for stockCode in ChinaStockIndexList:twitter = getChinaStockIndexInfo(stockCode, period_daily)print(twitter['message'] + twitter['image'])def test_china_individual_data():for stockCode in ChinaStockIndividualList:twitter = getChinaStockIndividualInfo(stockCode, period_min)print(twitter['message'] + twitter['image'])def test_global_index_data():for stockDict in WorldStockIndexList:print(getWorldStockIndexInfo(stockDict))def main():"main function"print(base64.b64decode(b'Q29weXJpZ2h0IChjKSAyMDEyIERvdWN1YmUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLg==').decode())test_china_index_data()test_china_individual_data()# test_global_index_data()if __name__ == '__main__':main()
运行结果如图:
python股票行情查询相关推荐
- 如何获取新浪股票行情查询接口?
我们在进行量化交易时,都需要用到大量的股票行情数据,这时候我们可以通过网络上一些公开的行情查询平台拿到这些数据,一般来讲新浪.东方财富.同花顺都是不错的行情查询平台.为了更好地进行交易,我们还需要拿到 ...
- 微信公众平台-股票行情查询
微信公众平台-股票行情查询 php实现的获取上证,深证 A,B股实时行情的接口,只实现了文本消息回复,K线图可以在图文消息中加上接口url地址就可以显示,具体的接口地址网上可以找,有了股票数据源,弄成 ...
- 基于python 的股票行情查询系统开发(一)
基于python 的股市行情查询系统开发(一) 一.前言 1.开发背景 二.开发计划 1.开发语言 2.数据api获取 3.后续计划 今日进度 1.前期准备 2.获取股票代码 一.前言 1.开发背景 ...
- python 股票行情_Python结合钉钉实时自动监控股票行情,上班炒股再也不怕老板发现...
最近全球股市开始回暖,之前清仓的股民现在又陆续开始建仓.股市交易时间,一般也是上班时间,频繁的查看股票软件不仅会影响工作效率,也容易被老板以为工作不饱和.所以,我们就借助python的强大功能,把提前 ...
- Python股票行情看板
# -*- coding: utf-8 -*-import csv import numpy as np import time from bottle import template import ...
- 股票行情查询易语言代码
.版本 2 .子程序 __启动窗口_创建完毕 '添加并使用<精易模块> Send_API () .子程序 Send_API .局部变量 REQU_Data, 文本型, , , 提交字符串 ...
- python绘制k线图的步骤_Python使用PyQtGraph绘制股票行情K线图
PyQtGraph是Python平台上一种功能强大的2D/3D绘图库,相对于matplotlib库,由于其在内部实现方式上,使用了高速计算的numpy信号处理库以及Qt的GraphicsView框架, ...
- java 股票 代码_Java中利用散列表实现股票行情的查询_java
---- 在java中,提供了一个散列表类Hashtable,利用该类,我们可以按照特定的方式来存储数据,从而达到快速检索的目的.本文以查询股票的收盘数据为例,详细地说明java中散列表的使用方法. ...
- python股票查询可视化代码
Python股票查询可视化_哔哩哔哩_bilibili 三连视频获取源码, 播放量500出教程,三连总数500逐行讲代码. 功能:数据获取,可视化,过滤
最新文章
- NATURE 人工智能 | 神奇的粒子机器人
- declare命令用法
- Ubuntu基础知识
- ICallbackEventHandler - 客戶端回調 - 無刷新(對她的理解就是:觸發庫函數-回調-回傳-接收)...
- 最简单的opencv安装方法----利用annaconda安装opencv
- private 私有的 外部不能访问的
- 魅族17系列渲染图曝光:“防爆盾”后盖引网友无限吐槽
- NAT技术代理服务器
- mysql 数据导出语句_MySQL 数据导出
- 爱上MVC3系列~RenderAction与RenderPartial及一个页面多个表单提交
- Skype For Business 2015综合部署系列四:安装Skype Server系统 1
- java定义类和测试类时的三种方式
- 解析app流量商业化变现,ADCDN助力开发者变现双倍增长
- 88年的世界杯历史,用Python带你回顾!
- php exit 和die,PHP中的die()和exit()有什么区别?
- namedtuple使用
- 01-不是过去的原因而是现在目的
- python+opencv-12 黑帽和礼帽运算
- Python日历模块| 使用示例的weekday()方法
- java.lang.IllegalArgumentException: XML fragments parsed from previous mappers does not contain valu