stocks/script2.py
gabrielkheisa d1a686dde7 update
2022-11-04 22:42:29 +07:00

91 lines
2.9 KiB
Python

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()