repl.it現在無法免費直接用(需要註冊登入,且有限制額度)
我找了一個同樣是線上可以為python compiler的網站
https://www.programiz.com/python-programming/online-compiler/以xrp為例(才幾個月沒寫生疏了),直接撈coinmarketcap官方載入資料的api
需要的人自取暫時沒太多時間做後續加工,今天本來要加上跳出視窗存檔的功能,但還有點小問題
from urllib.request import Request, urlopen
from datetime import datetime
import time
import pytz
import json
import pandas as pd
time_start = str(int(time.mktime(datetime(2013, 8, 4).timetuple())))
time_end = str(int(time.mktime(datetime(2021, 1, 6).timetuple())))
url = '
https://web-api.coinmarketcap.com/v1/cryptocurrency/ohlcv/historical?id=52&convert=USD&time_start=' + time_start + '&time_end=' + time_end
r = Request(url, headers={'User-Agent': 'Mozilla/5.0'})
data = json.loads(urlopen(r).read())
columns = []
info = []
for j in range(len(data['data']['quotes'])):
values = []
for k, v in data['data']['quotes'][j]['quote']['USD'].items():
if j == 1:
columns.append(k)
if k == 'timestamp':
v = datetime.strptime(v, '%Y-%m-%dT%H:%M:%S.%f%z').strftime('%Y-%m-%d')
values.append(v)
info.append(values)
df = pd.DataFrame.from_dict(info)
df.columns = columns
df2 = pd.concat([df.iloc[:, 6], df.iloc[:, :4]], axis=1).sort_index(axis=0, ascending=False)
df2 = df2.reset_index(drop=True)
print(df2)