我正在使用以下代码通过一一插入硬币的符号来从 Coinmarketcap 中提取一些数据,但是由于每天都有新的密码添加到列表中,我需要从https://coinmarketcap一次提取所有密码.com/coins/views/all/以便每天更新列表。如何修改以下代码,以便我首先将所有加密符号放在一个文本文件中,然后再完成其余的工作?非常感谢您的帮助。
import time
import requests
a = []
while True:
try:
x = input("Type the symbols of The currencies. Write 'done' when you are done: ")
open('/Users/DearUser/crypto_symbol_3.txt', 'a').close()
if x.upper() == "DONE":
break
def get_timestamp(datetime: str):
return int(time.mktime(time.strptime(datetime, '%Y-%m-%d')))
def get_btc_quotes(start_date: str, end_date: str):
start = get_timestamp(start_date)
end = get_timestamp(end_date)
url = f'https://web-api.coinmarketcap.com/v1/cryptocurrency/ohlcv/historical?symbol={x}&convert=USD&time_start={start}&time_end={end}'
return requests.get(url).json()
data = get_btc_quotes(start_date='2021-11-09',
end_date='2021-11-11')
import pandas as pd
data_flat = [quote['quote']['USD'] for quote in data['data']['quotes']]
df = pd.DataFrame(data_flat)
c = df.iat[1,5]
if c==0:
print("The marketcap of your entry is zero. Please try another one...")
if x not in open('/Users/DearUser/crypto_symbol_3.txt', 'r').read() and c!=0:
open('/Users/DearUser/crypto_symbol_3.txt', 'a').write(f'\"{x}\": {c},\n')
elif x in open('/Users/DearUser/crypto_symbol_3.txt', 'r').read():
print("Your entry already exists! Please try again...")
except:
print("Your input is not valid! Please try again...")
s = open('/Users/DearUser/crypto_symbol_3.txt', 'r').read()
print(s)