Python kullanarak Coingecko API’den veri çekmenin kolay şekli aşağıdaki şekilde yapılabilir.
Öncelikle Coingecko sitesinde kriptolara verilen Coin ID’leri bilmemiz lazım. 2022 Ocak tarihindeki liste şu şekilde idi. Açılan dosyada arama yaparak kullanmak istediğimiz coinin id sinin notunu alıyoruz.
Örneğin; Bitcoin için yaptığımız aramada coin id’si ilk satırda da görüldüğü gibi “bitcoin”.
{
"id": "bitcoin",
"symbol": "btc",
"name": "Bitcoin"
},
Bu listenin güncel haline https://www.coingecko.com/en/api/documentation
sayfasında coins/GET/coins/list bölümünden ulaşabiliyoruz.
Burada örnek oluşturması amacıyla bitcoini ile devam ederek kodumuzu yazıyoruz.
Öncelikle requests ve çektiğimiz datayı arındırmak için kullanacağımız re kütüphanelerini ekliyoruz
import requests
import re
daha sonra API’den data çekmek için gerekli kodumuzu yazıyoruz. Bu kodda dikkat etmemiz gereken şey price?ids=
ile &sv_currencies=usd
arasına verilerini almak istediğimiz coinin id’sini girmek olacaktır.
import requests
import re
bitcoin_text = requests.get('https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd').text
print (bitcoin_text)
Kodu çalıştırdığımızda bitcoin fiyatı aşağıdaki gibi görünecektir.
{"bitcoin":{"usd":37168}}
Bu çıktıyı sadeleştirmek ve daha sonra kullanabilmek için re.search / replace sayfasındaki örneklerden faydalanarak çıktıyı float cinsine çeviriyoruz.
import requests
import re
bitcoin_text = requests.get('https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd').text
print (bitcoin_text)
bitcoin = (re.search('{"usd":(.+?)}}',bitcoin_text).group(1))
bitcoin= bitcoin.replace("'","")
bitcoin = float (bitcoin)
print (bitcoin)
Çıktımız şu şekilde olacaktır:
{“bitcoin”:{“usd”:37432}}
37432.0
Kolay gelsin. 🙂