Untitled
unknown
python
2 years ago
2.0 kB
6
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() pass
Editor is loading...