def get_history_data(self): end = datetime.today().date() end = str(end).replace("-", "") # print(type(end)) # print("end = ",end) # exit() myModelObj = MyModel() coin_data = myModelObj.get_coin_price_daily_records_by_range(start=0, end=100) # print(coin_data) source_id = 1 # coin_data = [[1417,'safecoin',4]] #print(coin_data[0][1]) # print(coin_data) print(len(coin_data)) # exit() for item_coin in coin_data: coin_id = item_coin[0] no_of_rows_crypto_database = item_coin[2] print(type(no_of_rows_crypto_database)) URL = "https://coinmarketcap.com/currencies/" + item_coin[ 1] + "/historical-data/?start=20130428&end=" + end print(URL) # exit() # URL = "https://coinmarketcap.com/currencies/slimcoin/historical-data/?start=20130428&end=20180430" #URL = "https://coinmarketcap.com/currencies/farstcoin/historical-data/?start=20130428&end=20180311" coinmarketcapObj = CoinmarketcapModel(URL) rawData = coinmarketcapObj.get_daily_data() # print(rawData) # exit() no_of_records_coinmarketcap = len(rawData) print("Number of records in coinmarketcap = ", no_of_records_coinmarketcap) print("Number of records in crypto database = ", no_of_rows_crypto_database) # exit() if no_of_records_coinmarketcap > no_of_rows_crypto_database: print(no_of_records_coinmarketcap) print(coin_id) # exit() myModelObj1 = MyModel() myModelObj1.del_records_coin_price_daily(coin_id=coin_id) # exit() cleanData = [] ### cleaing data for item in rawData: # print(item) # print(item[0]) idate = item[0] myDate = datetime.strptime(idate, '%b %d, %Y').date() # print(date.date()) # print(date) # open = float(item[1]) if item[1] == "-": open = 0 else: open = float(item[1].replace(',', '')) # high = float(item[2]) if item[2] == "-": high = 0 else: high = float(item[2].replace(',', '')) # low = float(item[3]) if item[3] == "-": low = 0 else: low = float(item[3].replace(',', '')) # close = float(item[4]) if item[4] == "-": close = 0 else: close = float(item[4].replace(',', '')) if item[5] == "-": volume = 0 else: volume = float(item[5].replace(',', '')) if item[6] == "-": marketCap = 0 else: marketCap = float(item[6].replace(',', '')) # coin_id = coin_name[0] ####### # del item[7] # del item[7] item.append(coin_id) item.append(source_id) item[0] = myDate item[1] = open item[2] = high item[3] = low item[4] = close item[5] = volume item[6] = marketCap # print(" item = ",item) cleanData.append(item) # print("clean data = ", cleanData) # exit() # print(cleanData) myModelObj2 = MyModel() myModelObj2.insert_coin_price_daily(data=cleanData) else: # print(no_of_rows_crypto_database) print("History Records are Up To Date")
def get_all_historical_data(self): end = datetime.today().date() end = str(end).replace("-", "") myModelObj = MyModel() coin_data = myModelObj.get_coin_details() # print(coin_data) source_id = 1 for item_coin in coin_data: coin_id = item_coin[0] URL = "https://coinmarketcap.com/currencies/" + item_coin[ 3] + "/historical-data/?start=20130428&end=" + end print(URL) # exit() coinmarketcapObj = CoinmarketcapModel(URL) rawData = coinmarketcapObj.get_daily_data() no_of_records_coinmarketcap = len(rawData) if no_of_records_coinmarketcap > 0: # exit() myModelObj1 = MyModel() myModelObj1.del_records_coin_price_daily(coin_id=coin_id) # exit() cleanData = [] ### cleaing data for item in rawData: idate = item[0] myDate = datetime.strptime(idate, '%b %d, %Y').date() if item[1] == "-": open = 0 else: open = float(item[1].replace(',', '')) # high = float(item[2]) if item[2] == "-": high = 0 else: high = float(item[2].replace(',', '')) # low = float(item[3]) if item[3] == "-": low = 0 else: low = float(item[3].replace(',', '')) # close = float(item[4]) if item[4] == "-": close = 0 else: close = float(item[4].replace(',', '')) if item[5] == "-": volume = 0 else: volume = float(item[5].replace(',', '')) if item[6] == "-": marketCap = 0 else: marketCap = float(item[6].replace(',', '')) # coin_id = coin_name[0] ####### # del item[7] # del item[7] item.append(coin_id) item.append(source_id) item[0] = myDate item[1] = open item[2] = high item[3] = low item[4] = close item[5] = volume item[6] = marketCap # print(" item = ",item) cleanData.append(item) # print("clean data = ", cleanData) # exit() # print(cleanData) myModelObj2 = MyModel() myModelObj2.insert_coin_price_daily(data=cleanData) else: # print(no_of_rows_crypto_database) print("History Records are Up To Date")