import requests from selenium import webdriver from selenium.webdriver.chrome.options import Options import time from datetime import datetime import base64 import math from selenium.webdriver.chrome.options import Options key = "API_KEY" while(1): try: now = datetime.now() dt_string = now.strftime("%d-%m-%Y %H:%M:%S") options = Options() options.add_argument('--no-sandbox') options.add_argument('--window-size=1420,1080') options.add_argument('--headless') options.add_argument('--disable-gpu') browser = webdriver.Chrome("/usr/lib/chromium-browser/chromedriver", chrome_options=options) browser.delete_all_cookies() browser.get("https://finance.yahoo.com/quote/IDR=X") time.sleep(5) harga = browser.find_element_by_xpath("//*[@id=\"quote-header-info\"]/div[3]/div[1]/div/fin-streamer[1]").get_attribute('textContent') price_change = browser.find_element_by_xpath("//*[@id=\"quote-header-info\"]/div[3]/div[1]/div/fin-streamer[2]/span").get_attribute('textContent') change = browser.find_element_by_xpath("//*[@id=\"quote-header-info\"]/div[3]/div[1]/div/fin-streamer[3]/span").get_attribute('textContent') last_update = browser.find_element_by_xpath("//*[@id=\"quote-market-notice\"]/span").get_attribute('textContent') harga = harga.split(".")[0] change_flag = "" if "+" in price_change: change_flag = "+" price_change.replace('+', '') else: change_flag = "" price_change.replace('+', '') price_change = math.floor(float(price_change) * 100)/100.0 price_change = change_flag + str(price_change) change = change.replace('(', '') change = change.replace(')', '') change = change.replace('%', '') if "+" in change: change_flag = "+" change.replace('+', '') else: change_flag = "" change.replace('+', '') change = math.floor(float(change) * 100)/100.0 change = "(" + change_flag + str(change) + "%)" if "+" in change: sym = "#40ff00" sym2 = "🟢" else: sym = "#ff0000" sym2 = "🔴" payload = harga + "=" + price_change + "=" + change + "=" + last_update + "=" + dt_string + " GMT+7" + "=" + sym + "=" + sym2 + "=" + key print(payload) payload_encoded = base64.b64encode(bytes(payload, 'utf-8')) print(payload_encoded.decode('utf-8')) response = requests.get('https://api.dev.gabrielkheisa.xyz/stocks/usdidr/index.php?q='+str(payload_encoded.decode('ascii'))) browser.quit() print("Sleep for 1 hour") time.sleep(60*60) except: print("Error gak jelas, skip") browser.quit()