Untitled
unknown
python
3 years ago
2.0 kB
13
Indexable
import requests
import pandas as pd
from time import sleep
headers = headers = {
'Accepts': 'application/json',
'X-CMC_PRO_API_KEY': 'a9930aaa-1755-443b-a9a5-ef6476e3e8fe',
}
def normalize(price: int) -> str:
return '{0:,}'.format(price)
def main():
names = []
tickers = []
market_caps = []
websites = []
for i in range(0, 3100, 100):
start = i + 1
url = f'https://api.coinmarketcap.com/data-api/v3/cryptocurrency/listing?start={start}&limit=100&sortBy=market_cap&sortType=desc&cryptoType=all&tagType=all&audited=false&aux=market_cap'
page = requests.get(url, timeout=10).json()['data']['cryptoCurrencyList']
print(f'AAAA {i} AAAAA')
for currency in page:
idc = currency['id']
name = currency['name']
api_url = f'https://pro-api.coinmarketcap.com/v2/cryptocurrency/info?id={idc}'
api_response = requests.get(api_url, headers=headers, timeout=10).json()
try:
website = api_response['data'][f"{idc}"]['urls']['website'][0]
except:
sleep(20)
print(f'Website not found: {name}')
try:
website = website = api_response['data'][f"{idc}"]['urls']['website'][0]
except:
website = 'None'
print(f'2222 Website not found: {name} 2222')
ticker = currency['symbol']
market_cap = normalize(int(currency['quotes'][0]['marketCap']))
names.append(name)
tickers.append(ticker)
market_caps.append(market_cap)
websites.append(website)
print(name, ticker, market_cap, website)
df = pd.DataFrame({'Name': names, 'Ticker': tickers, 'Cap': market_caps, 'Website': websites})
df.to_excel('./crypto_demo.xlsx')
if __name__ == '__main__':
main()
passEditor is loading...