Dies handelt
Installieren Sie zuerst das Paket
pip install cryptocurrencies_scraper
from cryptocurrencies_scraper . CurrencyService import Manager
manager = Manager () # Create a new instance of the Manager
manager . update () # Ask the manager to update all currencies values
manager . all_currencies () # returns a dict that contain the currency name and symbol as key and currency information as a list
manager . get_curency ( 'btc' ) # return the list of currency values retrived for bitcoin using symbol
manager . get_curency ( 'bitcoin' ) # return the list of currency values retrived for bitcoin using name
Ein Schaber sollte das CurrentPriceInterface
erweitern. Hier ist ein grundlegendes Schema für einen neuen Schaber
class MySourceForCurrencies ( CurrentPriceInterface ):
instance = None
URL = 'https://api.mysource.com/v1/ticker/?limit=3000'
NAME = "mysource.com"
@ classmethod
def get_instance ( cls ) -> 'MySourceForCurrencies' :
if cls . instance is None :
cls . instance = MySourceForCurrencies ()
return cls . instance
def __init__ ( self ):
super (). __init__ ()
def update_currency_list ( self ):
self . process_data ( requests . get ( self . URL ). json ())
def process_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 )
return None
Damit Ihr Schaber funktioniert, müssen Sie ihn dem Manager hinzufügen
from cryptocurrencies_scraper . CurrencyService import Manager
manager = Manager ()
manager . add_source ( MySourceForCurrencies . get_instance ())
# you can also remove a source
manager . remove_source ( MySourceForCurrencies . NAME )
Dann wird bei jedem manager.update()
Diese Klasse wird intern verwendet, um alle Währungen zu indizieren. Wenn eine neue Währung hinzugefügt wird, wird sie nach dem Symbol und dem Namen gruppiert (Symbol obere, Name unterer Fall).
Die einzige nützliche Methode ist NameIndexes.get_instance().add_to_index(currency)
. Bei jedem Update wird es vollständig aus allen alten Werten gelöscht.
Currency
Dies ist das Objekt, das hier eine Währung darstellt
{
"symbol" : " BTC " ,
"name" : " Bitcoin " ,
"valueUSD" : 5513 ,
"valueBTC" : 1 ,
"lastUpdate" : 1566531513813 ,
"source" : " coin360.com " ,
"changes" : {
"7d" : -1 ,
"24h" : -5 ,
"1h" : -10
}
}