Ini adalah modul sederhana yang mengambil nilai mata uang kripto instan di BTC dan USD dari Coin360.com dan API CoinMarketCap
Pertama instal 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
Pengikis harus memperluas CurrentPriceInterface
. Berikut adalah skema dasar untuk pengikis baru
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
Agar scraper Anda bekerja, Anda perlu menambahkannya ke manajer
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 )
Kemudian pada setiap manager.update()
Kelas ini digunakan secara internal untuk mengindeks semua mata uang. Ketika mata uang baru ditambahkan, itu akan dikelompokkan berdasarkan simbol dan nama (simbol atas, nama huruf kecil)
Satu -satunya metode yang berguna adalah NameIndexes.get_instance().add_to_index(currency)
. Pada setiap pembaruan, itu dihapus dengan lengkap dari semua nilai lama.
Currency
Ini adalah objek yang mewakili satu mata uang di sini adalah strukturnya
{
"symbol" : " BTC " ,
"name" : " Bitcoin " ,
"valueUSD" : 5513 ,
"valueBTC" : 1 ,
"lastUpdate" : 1566531513813 ,
"source" : " coin360.com " ,
"changes" : {
"7d" : -1 ,
"24h" : -5 ,
"1h" : -10
}
}