def updateCoinDetails(self): myModelObj = MyModel() coin_data = myModelObj.get_coin_details() # print(coin_data) # coin_data = ["bitcoin","ethrium"] # source_id = 1 # print(coin_data[0][1]) for coin_name in coin_data: # print(coin_name[1]) URL = "https://coinmarketcap.com/currencies/" + coin_name[ 1] + "/historical-data/" # URL = "https://coinmarketcap.com/currencies/bitcoin/historical-data/" # URL = "https://coinmarketcap.com/currencies/quantum-resistant-ledger/historical-data/" coinmarketcapObj = CoinmarketcapModel(URL) rawData = coinmarketcapObj.get_coin_details_for_update() # print("raw data = ", rawData) updateData = [] if rawData: try: name = rawData[0] # print(name) name = name.replace('Historical data for ', '') # print(name) except: name = "" try: url = rawData[1] # print(url) url = re.sub(r'http[s]?://', '', url) url = re.sub(r'www[a-z0-9]?\.', '', url) url = re.sub(r'/.*', '', url) # print(url) except: url = "" if name: norm_name = name # print(norm_name) norm_name = re.sub(r'[\.\-_]*', '', norm_name) norm_name = re.sub(r'\s*', '', norm_name) norm_name = re.sub(r'\(.*\)', '', norm_name) norm_name = norm_name.lower().strip() else: norm_name = "" # print(norm_name) updateData.append(name) updateData.append(norm_name) updateData.append(url) updateData.append(coin_name[1]) print(updateData) myModelObj = MyModel() myModelObj.updateCoinDetails(data=updateData)
def get_daily_data(self): myModelObj = MyModel() coin_data = myModelObj.get_coin_details() # print(coin_data) # exit() # coin_data = [(728260,'EFX', 0, 'effect-ai', None, None, None)] source_id = 1 # print(coin_data[0][1]) for coin_name in coin_data: # print(coin_name[1]) coin_id = coin_name[0] URL = "https://coinmarketcap.com/currencies/" + coin_name[ 3] + "/historical-data/" # URL = "https://coinmarketcap.com/currencies/bitcoin/historical-data/" # URL = "https://coinmarketcap.com/currencies/quantum-resistant-ledger/historical-data/" coinmarketcapObj = CoinmarketcapModel(URL) rawData = coinmarketcapObj.get_data() # print("raw data = ",rawData) # exit() updateData = [] if rawData: try: name = rawData[0][7] print(name) name = name.replace('Historical data for ', '') print("name = ", name) url = rawData[0][8] print(url) url = re.sub(r'http[s]?://', '', url) url = re.sub(r'www[a-z0-9]?\.', '', url) url = re.sub(r'/.*', '', url) print("url = ", url) norm_name = name print(norm_name) norm_name = re.sub(r'[\.\-_]*', '', norm_name) norm_name = re.sub(r'\s*', '', norm_name) norm_name = re.sub(r'\(.*\)', '', norm_name) norm_name = norm_name.lower().strip() print("norm name = ", norm_name) updateData.append(name) updateData.append(norm_name) updateData.append(url) updateData.append(coin_id) print(updateData) except: pass firstRecord = [] if rawData: try: firstRecord.append(rawData[0]) except: pass else: firstRecord = [] cleanData = [] ### cleaing data for item in firstRecord: 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(',', '')) ####### try: del item[7] del item[7] except: pass 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) cleanData.append(item) print(cleanData) # exit() myModelObj = MyModel() myModelObj.insert_coin_price_daily(data=cleanData) # myModelObj1 = MyModel() myModelObj1.updateCoinDetails(data=updateData)