# encoding: utf8

#部分网站api数据有bug,这个bug问题不是自身程序的问题,而是第三方公司股票的问题

__author__= 'nooper'import refrommath import ceil

import datetimefromhttpGet import httpGetContentfrom common import decimaldef _get_content(content):"处理腾讯股票数据接口信息"regex= re.compile(r'"(.*)"')

result=regex.findall(content)ifresult:return result[0].split('~')

def getStockPosition(code, market):"""处理股票盘口数据分析,分析所占的百分比率

http://qt.gtimg.cn/q=s_pksz000858

v_s_pksz000858="0.196~0.258~0.221~0.325";

以~分割字符串中内容,下标从0开始,依次为:0: 买盘大单1: 买盘小单2: 卖盘大单3: 卖盘小单

所占有的百分比百分比率""" ifcode and market:

url= "http://qt.gtimg.cn/q=s_pk%s%s" %(market, code)

content=httpGetContent(url)ifcontent:

result_list=_get_content(content)ifresult_list:

stock_dict={}

stock_dict["code"] =code

stock_dict["market"] =market

stock_dict["buy_big_percent"] = float(result_list[0]) # 买盘大单所占百分比

stock_dict["buy_small_percent"] = float(result_list[1]) # 买盘小单所占百分比

stock_dict["sell_big_percent"] = float(result_list[2]) # 卖盘大单所占比重

stock_dict["sell_small_percent"] = float(result_list[3]) # 买盘小单所占比重

stock_dict["date"] =datetime.date.today()returnstock_dict

# todo 数据对不上

def getStockCashFlow(code, market):"""得到股票是资金流入流出

http://qt.gtimg.cn/q=ff_sz000858

v_ff_sz000858="sz000858~41773.67~48096.67~-6322.99~-5.53~10200.89~14351.02~-4150.13~-3.63~114422.25~53015.90~59770.57~五 粮 液~20121221";

以~分割字符串中内容,下标从0开始,依次为:0: 代码1: 主力流入2: 主力流出3: 主力净流入4: 主力净流入/资金流入流出总和5: 散户流入6: 散户流出7: 散户净流入8: 散户净流入/资金流入流出总和9: 资金流入流出总和1+2+5+6

10: 未知11: 未知12: 名字13: 日期""" ifcode and market:

url= "http://qt.gtimg.cn/q=ff_%s%s" %(market, code)

content=httpGetContent(url)ifcontent:

result_list=_get_content(content)ifresult_list:

stock_dict={}

stock_dict["code"] =code

stock_dict["main_inflow"] = float(result_list[1]) # 主力流入

stock_dict["main_outflow"] = float(result_list[2]) # 主力流出

stock_dict["main_netflow"] = float(result_list[3]) # 主力净流入

stock_dict["small_inflow"] = float(result_list[5]) # 散户流入

stock_dict["small_outflow"] = float(result_list[6]) # 散户流出

stock_dict["small_netflow"] = float(result_list[7]) # 散户净流入

income= stock_dict["main_inflow"] + stock_dict["small_inflow"]

outcome= stock_dict["main_outflow"] + stock_dict["main_outflow"]

print income

print outcome

print income-outcome

stock_dict["unknown_1"] = float(result_list[10])

stock_dict["unknwon_2"] = float(result_list[11])

stock_dict["date"] = result_list[13] # 日期returnstock_dict

def getStockCurrentDay(code, Market):'''获取股票当日数据

腾讯API

API地址:http://qt.gtimg.cn/q=sh600383

sh:上海

sz:深圳

返回当天成交数据

code:股票代码

market:股票市场

数据返回@return dict''' ifcode and Market:

url= 'http://qt.gtimg.cn/q=%s%s' %(Market, code)

headers= {'Content-type': 'application/x-javascript; charset=GBK'}

result= httpGetContent(url=url, headers=headers, charset='gbk')ifresult:

stocklist=_get_content(result)ifstocklist:

stockdict={}

stockdict['code'] =code # 股票代码

stockdict['name'] = unicode(stocklist[1], 'utf8') # 股票名称

stockdict['last_closing'] = float(stocklist[4]) # 昨日收盘价格

stockdict['start'] = float(stocklist[5]) # 开盘价格

stockdict['end'] = float(stocklist[3]) # 当前收盘价格(可以是当前价格)

stockdict['high'] = float(stocklist[33]) # 最高价格

stockdict['low'] = float(stocklist[34]) # 最低价格

stockdict['buyvol'] = int(stocklist[7]) # 外盘 todo 数据对不上

stockdict["sellvol"] = int(stocklist[8]) # 内盘 todo 数据对不上

stockdict['range_price'] = float(stocklist[31]) # 涨跌价格

stockdict['range_percent'] = float(stocklist[32]) # 涨跌比%stockdict['volume'] = int(stocklist[6]) # 成交量(手)

stockdict['total_price'] = int(stocklist[37]) # 成交额(万元)

stockdict['change_rate'] = decimal(stocklist[38]) # 换手率

stockdict['pe'] = decimal(stocklist[39]) # 市盈率

stockdict['swing'] = float(stocklist[43]) # 振幅

stockdict['pb'] = float(stocklist[46]) # 股票市净率

stockdict['date'] = stocklist[30][:8] # 时间

stockdict["block"] = False if stockdict["start"] elseTrue #股票是否停牌returnstockdict

def getStockMarket(code):"""大盘数据接口信息

上证:code:000001 set=zs

深证:code:399001 set=zs

中小板:code:399005 set=zs

创业板: code:399006 set=zs

http://q.stock.sohu.com/qp/hq?type=snapshot&code=000001&set=zs

""" url = "http://q.stock.sohu.com/qp/hq?type=snapshot&code=%s&set=zs" %code

result= httpGetContent(url=url, charset="gbk")ifresult:

result=eval(result)

stock_dict={}

stock_dict["date"] = result[0][:10] #日期

stock_dict["name"] = unicode(result[2], 'utf8') #名称

stock_dict["range_price"] = float(result[4]) #上涨价格

stock_dict["range_percent"] = float(result[5].strip("%")) #涨幅

stock_dict["start"] = float(result[9]) #开盘价格

stock_dict["high"] = float(result[11]) #最高价格

stock_dict["low"] = float(result[13]) #最低价格

stock_dict["last_closing"] = float(result[7]) #昨日收

stock_dict["end"] = float(result[3]) #收盘价格

stock_dict["total_sum"] = int(result[18]) #多少万元

stock_dict["volume"] = int(result[14]) #多少手returnstock_dict

tonghuashun_headers={"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Encoding": "gzip,deflate,sdch","Accept-Language": "zh-CN,zh;q=0.8","Cache-Control": "no-cache","Connection": "keep-alive","Host": "qd.10jqka.com.cn","User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36"}

# def getstockBlock():

#"""# 新浪股票黑名单数据

# ”需要得到单点登录信息“

#

# 新浪股票黑名单个股

# http://weibo.gxq.com.cn/stock/disallowStock

# """# headers ={

#'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',

#'Cache-Control': "max-age=0",

#'Host': 'weibo.gxq.com.cn',

#'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36',

#'Cookie': "PHPSESSID=c32fbi3m3sf0he8v1rdem3t006; gxqSignId=02d9c361fe5fc1ab; WBStore=d6acd6adea5a82d3|undefined"#

# }

# url= "http://weibo.gxq.com.cn/stock/disallowStock"# content= httpGetContent(url=url, headers=headers)

#ifcontent:

# soup=BeautifulSoup(content)

# td_list= soup.find_all(text=re.compile('\d+'))

#returntd_list

def __convert_MIN(content):

content= content.split('=')[1]

content_list= content.split('|')

stock_dict={}for sub incontent_list:ifsub:

items= sub.split('~')

date= items[0]

price_list= items[1].split(';')

price_dict={}for a inprice_list:

b= a.split(',')

start= float(b[0]) #开盘价

high= float(b[1]) #最高价格

low= float(b[2]) #最低价格

end= float(b[3]) #结束价格

volum= int(ceil(float(b[4]))) #成交量多少买入

total_price= int(ceil(float(b[5]))) #成交额

time= b[6] #时间格式是1030,11:30,1400,1500price_dict[time]={"high": high,'low': low,"end": end,"start": start,"volumn": volum,"total_price": total_price

}

stock_dict[date]=price_dictreturnstock_dict

def getStock60MIN(code, market, type=''):"""不推荐向后复权

得到股票60分钟数据线

API接口数据

http://qd.10jqka.com.cn/api.php?p=stock_min60&info=k_sz_000005&fq=q

q是向前复权

b事项后复权

q=空是不复权""" if market not in ('sz', 'sh'):returnurl= "http://qd.10jqka.com.cn/api.php?p=stock_min60&info=k_%s_%s&fq=%s" %(market, code, type)

content= httpGetContent(url=url)ifcontent:return__convert_MIN(content)

def getStock30MIN(code, market, type=''):"""30分钟数据接口信息

http://qd.10jqka.com.cn/api.php?p=stock_min30&info=k_sz_000005&fq=

""" if market not in ('sz', 'sh'):returnurl= "http://qd.10jqka.com.cn/api.php?p=stock_min30&info=k_%s_%s&fq=%s" %(market, code, type)

content= httpGetContent(url=url)ifcontent:return__convert_MIN(content)

def getStock15MIN(code, market, type=''):"""15分钟数据接口

http://qd.10jqka.com.cn/api.php?p=stock_min15&info=k_sz_000005&fq=

""" if market not in ('sz', 'sh'):returnurl= "http://qd.10jqka.com.cn/api.php?p=stock_min15&info=k_%s_%s&fq=%s" %(market, code, type)

content= httpGetContent(url=url)ifcontent:return__convert_MIN(content)

def __convert_inner(stock, stock_dict={}):

stock_day= stock.split(',')ifall(stock_day):

date= stock_day[0] #日期

start= float(stock_day[1]) #开盘价格

high= float(stock_day[2]) #最高价格

low= float(stock_day[3]) #最低价格

end= float(stock_day[4]) #收盘价格

volume= int(ceil(float(stock_day[5]))) #成交量

total= int(ceil(float(stock_day[6]))) #成交额

stock_dict[date]={"date": date,'start': start,'high': high,'low': low,'end': end,'volume': volume,'total': total,

}returnstock_dict

def __convert_day(content):

stock_list= content.split('=')[1].split('|')

stock_dict={}for stock instock_list:ifstock and stock.strip():

__convert_inner(stock, stock_dict)

# stock_day= stock.split(',')

# date= stock_day[0] #日期

# start= stock_day[1] #开盘价格

# high= stock_day[2] #最高价格

# low= stock_day[3] #最低价格

# end= stock_day[4] #收盘价格

# volume= int(ceil(float(stock_day[5]))) #成交量

# total= int(ceil(float(stock_day[6]))) #成交额

# stock_dict[date]={

#"date": date,

#'start': start,

#'high': high,

#'low': low,

#'end': end,

#'volume': volume,

#'total': total,

# }returnstock_dict

def __convert_week(content):

content_list= content.split(';')

regex= re.compile('=(.*)$')

stock_dict={}for s incontent_list:

p= regex.findall(s)[0]

stock_list= p.split('|')for week instock_list:ifweek:

__convert_inner(week, stock_dict)returnstock_dict

#todo 测试完成

def getStockDayHistory(code, market, year='2013', type=''):""" http://qd.10jqka.com.cn/api.php?p=stock_day&info=k_sz_000005&year=2012,2013&fq=

sz:深证

sh:上海returndict""" url = "http://qd.10jqka.com.cn/api.php?p=stock_day&info=k_%s_%s&year=%s&fq=%s" %(market, code, year, type)

content= httpGetContent(url=url)ifcontent:return__convert_day(content)

#todo 测试完成

def getStockWeekHistory(code, market, year='2012,2013', type=''):""" xhttp://qd.10jqka.com.cn/api.php?p=stock_week&info=k_sz_000005&year=2011,2012,2013&fq=

pass""" url = "http://qd.10jqka.com.cn/api.php?p=stock_week&info=k_%s_%s&year=%s&fq=%s" %(market, code, year, type )

content=httpGetContent(url, tonghuashun_headers)ifcontent:return__convert_week(content)

def __convertMonth(content):

pass

def getStockMonthHistory(code, market, type=''):""" http://qd.10jqka.com.cn/api.php?p=stock_month&info=k_sz_000671&fq=

""" url = "http://qd.10jqka.com.cn/api.php?p=stock_month&info=k_%s_%s&fq=%s" %(market, code, type)

content=httpGetContent(url)ifcontent:

pass

def main():

# g= getStock60MIN('600847', 'sh')

#for k ing:

# print k

# print g[k]

# g= getStockDayHistory("600198", "sh")

# print g

# import config

#

# print getStockMarket(config.SHANGHAI)

print getStockCurrentDay("600383", "sh")if __name__ == "__main__":

main()

python股票接口_python获取股票数据接口相关推荐

  1. 用python读取股票价格_Python获取股票数据?

    看到有介绍tushare的,忍不住贴一个我最近使用的python数据平台baostock,更多的数据,更快的响应.免费开源无需注册,不用担心信息泄露,不像有的平台,用着用着就开始收费了. 在线安装:p ...

  2. Python 通过 Tushare Pro 获取财经数据接口

    一.首先注册用户,注册地址:Tushare数据与wind.东财等收费数据源相比,tushare是一个python股票数据源,现已升级到tushare pro版本,新版本在数据稳定性和获取速率上大幅提升 ...

  3. 华泰股票交易接口如何获取实时数据和同步时间数据?

    下面直接分享华泰股票交易接口如何获取实时数据和同步时间数据? 首先.获取实时数据 python的函数库非常丰富,httplib具备获取API接口数据的功能. API返回参数是json格式的,可以用非标 ...

  4. 根据现有的API接口将获取JSON数据写入数据库

    根据现有的API接口将获取JSON数据写入数据库 利用API将获取数据存入数据库 获取API的URl 的原则 例如网址API的网址为:https://wuliang.art/ncov/doc.html ...

  5. 淘宝,tmall,1688,抖音,拼多多等平台商品详情接口(网络爬虫数据接口调用示例)接口对接教程

    淘宝,tmall,1688,抖音,拼多多等平台商品详情接口(网络爬虫数据接口调用示例)接口对接教程如下: 1.公共参数 名称 类型 必须 描述(接口代码教程wx19970108018) key Str ...

  6. 食物API接口免费开放-APP数据接口

    食品API接口免费开放-APP数据接口 食疗大全 (food.yi18.net)是医药吧网(www.yi18.net)旗下的食品信息网. 专门提供食品信息,食品功能与食疗分类. 现在食疗大全网 中有3 ...

  7. python 股票实时数据接口_获取股票实时数据的接口

    记录下获取股票实时数据的接口,记录下. 以基金兴和500018为例 ****************************** 新浪的接口: http://hq.sinajs.cn/list=sh5 ...

  8. python程序化 k线指定时间更新_Python获取股票历史、实时数据与更新到数据库

    要做量化投资,数据是基础,正所谓"巧妇难为无米之炊" 在免费数据方面,各大网站的财经板块其实已提供相应的api,如新浪.雅虎.搜狐...可以通过urlopen相应格式的网址获取数据 ...

  9. python处理行情数据_Python获取股票历史、实时数据与更新到数据库

    要做量化投资,数据是基础,正所谓"巧妇难为无米之炊" 在免费数据方面,各大网站的财经板块其实已提供相应的api,如新浪.雅虎.搜狐...可以通过urlopen相应格式的网址获取数据 ...

  10. python 大智慧股票行情数据_Python获取股票历史数据和收盘数据的代码实现

    各种股票软件,例如通达信.同花顺.大智慧,都可以实时查看股票价格和走势,做一些简单的选股和定量分析,但是如果你想做更复杂的分析,例如回归分析.关联分析等就有点捉襟见肘,所以最好能够获取股票历史及实时数 ...

最新文章

  1. seaweedfs 源码笔记(一)
  2. 上午写了一段代码,下午就被开除了,奇怪的知识又增加了
  3. 测试人员如何搭建自动打包部署平台?(具体详细步骤及下载地址)
  4. POJ 2492 A Bug's Life (带权并查集 向量偏移)
  5. 如何改变Delphi的快捷键 - DELPHI
  6. UML第二次作业 类图中类的表示
  7. oracle常用操作命令总结
  8. nginx 安全加固心得
  9. php颜色淡入代码,JavaScript_jquery 淡入淡出效果的简单实现,样式:复制代码 代码如下:nbsp - phpStudy...
  10. 计算机仿真电路实验感想,单相桥式全控整流电路实验心得体会
  11. java 视频比特率_java – 为MediaCodec设置的有效比特率是多少
  12. 大学计算机应用基础第二版习题答案,大学计算机应用基础练习题库及答案.docx...
  13. 怎么把几个pdf合并成一个文件?这个pdf合并的方法不容错过
  14. MATLAB信号处理——信号与系统的分析基础(1)
  15. 如何自己手动修改win10磁贴背景颜色?
  16. K-Means聚类算法的实现(C语言)
  17. 3624用计算机怎么换算,常用计量单位换算【收藏备用版】.docx
  18. SOM自组织(竞争型)神经网络(Python实现)
  19. 网络视频教程(共57个)全实战过程
  20. ImageCombiner图片合成工具

热门文章

  1. Deeping Learning学习与感悟——《深度学习工程师》_3
  2. C语言圆周率天书简化,c语言天书__圆周率的计算及分析
  3. 7-15 计算圆周率 (C语言)
  4. 谐波分析matlab仿真,教程:利用GUI对Simulink模型进行谐波分析
  5. 基于FPGA的篮球计分器
  6. 【IoT】产品模型:基于 ARM 的音视频采集与传输系统
  7. 视频教程-2020软考--网络规划设计师【综合知识】视频精讲-软考
  8. 偏微分方程数值解程序设计与实现——数学基础
  9. [转载]马士兵Java视频教程 —— 学习顺序
  10. jzoj立体井字棋【数学】