zoukankan      html  css  js  c++  java
  • 查询相关股票十档行情的方法

    #!/usr/bin/env python3.5
    # -*- coding:utf8 -*-
    import time,os
    import asyncio
    import aiohttp
    # 十档行情
    class Leverfun:
        stock_api = 'https://app.leverfun.com/timelyInfo/timelyOrderForm'
        def __init__(self):
            self.stocks_dict = dict()
        def stocks(self, stock_codes):
            if type(stock_codes) is not list:
                stock_codes = [stock_codes]
            threads = []
            for stock in stock_codes:
                threads.append(self.get_stock_detail(stock))
            try:
                loop = asyncio.get_event_loop()
            except RuntimeError:
                loop = asyncio.new_event_loop()
                asyncio.set_event_loop(loop)
            loop.run_until_complete(asyncio.wait(threads))
            return self.stocks_dict
        async def get_stock_detail(self, stock_code):
            params = dict(stockCode=stock_code)
            async with aiohttp.get(Leverfun.stock_api, params=params) as r:
                r_json = await r.json()
                self.stocks_dict[stock_code] = Leverfun.format_response_data(r_json)
        @classmethod
        def format_response_data(cls, response_data, **kwargs):
            data = response_data['data']
            buys = data['buyPankou']
            sells = data['sellPankou']
            stock_dict = dict(
                close=round(data['preClose'], 3),
                now=data['match'],
                buy=buys[0]['price'],
                sell=sells[0]['price'],
            )
            for trade_info_li, name in zip([sells, buys], ['ask', 'bid']):
                for i, trade_info in enumerate(trade_info_li):
                    stock_dict['{name}{index}'.format(name=name, index=i + 1)] = trade_info['price']
                    stock_dict['{name}{index}_volume'.format(name=name, index=i + 1)] = trade_info['volume'] * 100
            return stock_dict
    if __name__ == "__main__":
        code = ""
        if code == "":
            code = input("请输入代码:")
        if code:
            # 实例化十档行情
            q = Leverfun()
            while True:
                # d_sina = quotaion_sina(code)
                d_lf = q.stocks(code)
                os.system("cls")
                mydata = """
        现价:%s 元
        卖十价:%s   卖十量:%s 手    买十价:%s   买十量:%s 手
        卖九价:%s   卖九量:%s 手    买九价:%s   买九量:%s 手
        卖八价:%s   卖八量:%s 手    买八价:%s   买八量:%s 手
        卖七价:%s   卖七量:%s 手    买七价:%s   买七量:%s 手
        卖六价:%s   卖六量:%s 手    买六价:%s   买六量:%s 手
        卖五价:%s   卖五量:%s 手    买五价:%s   买五量:%s 手
        卖四价:%s   卖四量:%s 手    买四价:%s   买四量:%s 手
        卖三价:%s   卖三量:%s 手    买三价:%s   买三量:%s 手
        卖二价:%s   卖二量:%s 手    买二价:%s   买二量:%s 手
        卖一价:%s   卖一量:%s 手    买一价:%s   买一量:%s 手
        """ %(d_lf[code]['now'],d_lf[code]['ask10'],d_lf[code]['ask10_volume']/100,d_lf[code]['bid10'],d_lf[code]['bid10_volume']/100,
    d_lf[code]['ask9'],d_lf[code]['ask9_volume']/100,d_lf[code]['bid9'],d_lf[code]['bid9_volume']/100,
    d_lf[code]['ask8'],d_lf[code]['ask8_volume']/100,d_lf[code]['bid8'],d_lf[code]['bid8_volume']/100,
    d_lf[code]['ask7'],d_lf[code]['ask7_volume']/100,d_lf[code]['bid7'],d_lf[code]['bid7_volume']/100,
    d_lf[code]['ask6'],d_lf[code]['ask6_volume']/100,d_lf[code]['bid6'],d_lf[code]['bid6_volume']/100,
    d_lf[code]['ask5'],d_lf[code]['ask5_volume']/100,d_lf[code]['bid5'],d_lf[code]['bid5_volume']/100,
    d_lf[code]['ask4'],d_lf[code]['ask4_volume']/100,d_lf[code]['bid4'],d_lf[code]['bid4_volume']/100,
    d_lf[code]['ask3'],d_lf[code]['ask3_volume']/100,d_lf[code]['bid3'],d_lf[code]['bid3_volume']/100,
    d_lf[code]['ask2'],d_lf[code]['ask2_volume']/100,d_lf[code]['bid2'],d_lf[code]['bid2_volume']/100,
    d_lf[code]['ask1'],d_lf[code]['ask1_volume']/100,d_lf[code]['bid1'],d_lf[code]['bid1_volume']/100,
    )
                print(mydata)
                time.sleep(3)
  • 相关阅读:
    fatal error LNK1123: 转换到 COFF 期间失败:文件无效或损坏
    CI:模拟进化与遗传算法
    贝叶斯网络
    朴素贝叶斯模型
    概率与不确定性(乘法法则与贝叶斯法则)
    关于“启发式”搜索的一个形象解释
    Python 字符串与数字拼接报错
    无法启动此程序因为计算机中丢失 xxx.dll
    Python 以指定的概率选取元素
    验证码之SimpleCaptcha (二)
  • 原文地址:https://www.cnblogs.com/IPYQ/p/6281447.html
Copyright © 2011-2022 走看看