JobPlus知识库 IT 其它 文章
python3 爬取区块链okb网行情图表数据

一)使用环境:

  • python3
  • pycharm2017

(二)抓取数据内容

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

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

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

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

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

(2)我们先看看合约的接口

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

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

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

下面是一段代码

# -*- 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()


如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

¥ 打赏支持
34人赞 举报
分享到
用户评价(0)

暂无评价,你也可以发布评价哦:)

扫码APP

扫描使用APP

扫码使用

扫描使用小程序