KingData Open Platform
  • Open Platform Introduction
  • How to develop an indicator
    • Step1: Clone Repo
    • Step2: Write Definition.md
    • Step3: Write Logic Code
    • Step4: Write Template
    • Step5: Test and Pull Request
  • Examples
    • Demo with JSON data
    • Demo with HTML data
    • Demo with Socket Data
  • ⚠️ Attention && FAQ
    • How to store data
  • Related Links
  • API DOC
    • Integrate KingData content into your app
Powered by GitBook
On this page
  1. Examples

Demo with JSON data

Demonstrate what to do if the data source we crawl is JSON

Indicator : BTC-ARH999

import scrapy

from crawlers.utils import SpiderBase, Tools
from crawlers.utils.group_alarm import catch_except
from jinja2 import Template


class BtcArh999Spider(SpiderBase):
    name = 'idx-btc-arh999'
    url = 'https://fapi.coinglass.com/api/index/ahr999'

    def start_requests(self):
        yield scrapy.Request(url=self.url)

    @catch_except
    def parse(self, response, **kwargs):
        data = response.json()['data']
        params = {
            'arh_999': round(data[-1]['ahr999'], 2),
            'btc_price': data[-1]['value'],
            'change': round(((float(data[-1]['value']) - float(data[-2]['value'])) / float(data[-2]['value'])) * 100, 2)
        }
        print(Template(self.alert_en_template()).render(params))
        print(Template(self.alert_cn_template()).render(params))

    # must be declare
    def alert_en_template(self):
        return """The current BTC ahr999 (AHR Index) is {{arh_999}}. This spot is theoretically unsuitable for bottom fishing or long-term fixed investment. The current price of BTC is {{btc_price}}, and 24H  change is {{change}}. (The above content does not constitute investment advice and is for your reference only. Invest at your own risk.)
        """

    # must be declare
    def alert_cn_template(self):
        return """当前 BTC ahr999(九神指数)为 {{arh_999}},理论上不宜买入抄底或定投 BTC。当前 BTC 现价 {{btc_price}},24小时涨跌幅为 {{change}}。(以上内容仅供参考,非投资建议,风险自担。)
        """
PreviousExamplesNextDemo with HTML data

Last updated 2 years ago