使用coin360.com和coinmarketcap.com API填充即时本地数据库的简单刮刀
cryptocurrencies-scraper的Python项目详细描述
python:简单的加密货币刮刀
这是一个检索即时加密的简单模块 来自coin360.com和coinmarketcap api的BTC和美元货币值
如何使用
首先安装软件包
pip install cryptocurrencies_scraper
基本用法
fromcryptocurrencies_scraper.CurrencyServiceimportManagermanager=Manager()# Create a new instance of the Managermanager.update()# Ask the manager to update all currencies valuesmanager.all_currencies()# returns a dict that contain the currency name and symbol as key and currency information as a listmanager.get_curency('btc')# return the list of currency values retrived for bitcoin using symbolmanager.get_curency('bitcoin')# return the list of currency values retrived for bitcoin using name
添加您自己的刮刀
刮刀应该延伸CurrentPriceInterface
。
下面是一个新刮刀的基本方案
classMySourceForCurrencies(CurrentPriceInterface):instance=NoneURL='https://api.mysource.com/v1/ticker/?limit=3000'NAME="mysource.com"@classmethoddefget_instance(cls)->'CurrenciesFromCoinMarketCap':ifcls.instanceisNone:cls.instance=MySourceForCurrencies()returncls.instancedef__init__(self):super().__init__()defupdate_currency_list(self):self.process_data(requests.get(self.URL).json())defprocess_data(self,json_data:json)->None:# Manipulate the the json to be Currency "parsable"c=Currency.parse_json(json_data,self.NAME)#When parsed, add it to the index NameIndexes.get_instance().add_to_index(c)returnNone
要使刮刀工作,您需要将其添加到管理器中
fromcryptocurrencies_scraper.CurrencyServiceimportManagermanager=Manager()manager.add_source(MySourceForCurrencies.get_instance())# you can also remove a sourcemanager.remove_source(MySourceForCurrencies.NAME)
然后在每个manager.update()
调用时,将调用scraper并将货币添加到索引中
名称索引
这个类在内部用于索引所有货币。 添加新货币时,它将按符号和名称(符号大写,名称小写)分组。
唯一有用的方法是NameIndexes.get_instance().add_to_index(currency)
。每次更新时,它都会被完全清除
从所有的旧价值观。
Currency
这是表示一种货币的对象,这里是结构
{"symbol":"BTC","name":"Bitcoin","valueUSD":5513,"valueBTC":1,"lastUpdate":1566531513813,"source":"coin360.com","changes":{"7d":-1,"24h":-5,"1h":-10}}