123456789101112131415161718192021222324252627282930313233343536373839404142 |
- from enum import Enum
- import time
- from datetime import datetime
- from typing import Optional
- from pydantic import BaseModel
- from fastapi import FastAPI, Query, UploadFile, File
- from fastapi import FastAPI
- from fastapi.middleware.cors import CORSMiddleware
- import json
- import urllib.request
- url = 'https://api.coinmarketcap.com/data-api/v3/nft/collections?start=0&limit=5'
- app = FastAPI()
- origins = [
- "http://172.105.205.52",
- "http://172.105.205.52:8001",
- ]
- app.add_middleware(
- CORSMiddleware,
- # allow_origins=origins,
- allow_origins=["*"],
- allow_credentials=True,
- allow_methods=["*"],
- allow_headers=["*"],
- )
- @app.get("/showdata")
- async def showdata():
- r = urllib.request.urlopen(url)
- collections = json.loads(r.read())['data']['collections']
-
- reqs = []
- for req in collections:
- logo = 'https://s3.coinmarketcap.com/generated/nft/collections/' + req['slug'] + '.png';
- last_7_days = 'https://s3.coinmarketcap.com/generated/sparklines/nft/collection/web/30d/' + req['slug'] +'.png';
- reqs.append({'rank':req['rank'],'slug':req['slug'],'logo':logo,'website':req['website'],'name':req['name'],'assets':req['transferUniqueAssetsAT'],'collection_net_worth':req['netWorth'],'volume_7d':req['volume7d'],'sales_7d':req['sales7d'],'volume_all_time':req['volumeAT'],'sales_all_time':req['salesAT'],'last_7_days':last_7_days})
- return reqs
|