美文网首页
python3 爬取区块链okb网行情图表数据

python3 爬取区块链okb网行情图表数据

作者: 简书用户9527 | 来源:发表于2018-08-05 23:56 被阅读235次

    okb网 行情图标数据时刻都在变化,差不多每秒都会在变化,这对数据抓取难度有一定的难度,另外,数据使用动态js加载出来,并不是很好的抓取,实时变化的数据使用的websocket进行通信

    (一)使用环境:

    • python3
    • pycharm2017

    (二)抓取数据内容

    image.png

    主要抓取数据内容:
    行情图表下的

    USDT、BTC、ETH、OKB、合约下的
    币种、最新价、24H涨跌幅、24H最低、24H最高、24H成交量

    虽然表面上显示出这些数据,但是经过深入研究,发现数据量比这更多。
    多出个10个字段左右。

    (三)爬取思路
    (1)右键查看网页源代码

    image.png

    发现这里面根本就没有币种的数据信息
    so,数据肯定是ajax加载的。

    (2)我们先看看合约的接口
    https://www.okb.com/v2/futures/pc/market/marketOverview.do?symbol=f_usd_all

    image.png

    请求一下发现正是我们想要的数据,而且还有很多字段是上面的页面没有给出来的。

    image.png

    不过这里面的json是$的换算,而不是RMB单位。

    使用相同的方法,我们也可以把合约前面的USDT、BTC、ETH、OKB也可以找出来。这里就不做多的解析描述了。

    image.png

    下面是一段代码

    # -*- coding: utf-8 -*-
    # @Time    : 2018/7/2 12:00
    # @Author  : 蛇崽
    # @Email   : 643435675@QQ.com
    # @File    : test_okb.py
    #encoding:utf8
    import requests
    import json
    
    headers = {
        'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.5478.400 QQBrowser/10.1.1550.400',
    }
    
    """
    获取合约币
    """
    def getallheyue():
        url = 'https://www.okb.com/v2/futures/pc/market/marketOverview.do?symbol=f_usd_all'
        res = requests.get(url,headers=headers)
        if res.status_code == 200:
            jdata = json.loads(res.text)
            adata = jdata['ticker']
            # usdt 前十条
            alllist = []
            heyudata = adata
            for usdt in heyudata:
                symbol= usdt['symbolName'] # 币种
                last= usdt['last'] # 最新价格
                change= usdt['changePercent'] # 24H涨跌幅
                low= usdt['low'] # 24H最低
                high= usdt['high'] # 24H最高
                holdAmount= usdt['holdAmount'] # 24H最高
                volume = usdt['volume'] # 24H成交量
                day = str(usdt['contractId'])[4:8]
                list = {
                    "币种":str(symbol).upper()+'(周)'+day,
                    '最新价($)':last,
                    '24H涨跌幅':change,
                    '24H最低($)':low,
                    '24H最高($)':high,
                    '持仓量':holdAmount,
                    '24H成交量':volume
                }
                alllist.append(list)
            return alllist
    if __name__ == '__main__':
    #     get_allmarket()
        getallheyue()
    

    更多远程博客请访问:

    徐代龙的技术专栏

    个人博客:xudailong.gitee.io 福利网站:www.00reso.com

    个人微信:hll643435675

    相关文章

      网友评论

          本文标题:python3 爬取区块链okb网行情图表数据

          本文链接:https://www.haomeiwen.com/subject/mkeppftx.html