import streamlit as st from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options from webdriver_manager.chrome import ChromeDriverManager import time st.set_page_config(page_title="Klasemen Liga 1 - Flashscore", layout="wide") st.title("🏆 Klasemen Liga 1 Indonesia (via Flashscore)") st.markdown("Data diambil secara langsung menggunakan **headless browser (Selenium)**.") url = "https://www.flashscore.co.id/sepak-bola/indonesia/super-league/peringkat/#/QqIn9e16/peringkat/keseluruhan/" if st.button("🔄 Ambil Data Klasemen"): st.info("Sedang memuat halaman Flashscore... harap tunggu 5–10 detik ⏳") try: chrome_options = Options() chrome_options.add_argument("--headless") chrome_options.add_argument("--no-sandbox") chrome_options.add_argument("--disable-dev-shm-usage") chrome_options.add_argument("--window-size=1920,1080") chrome_options.add_argument("--disable-gpu") driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options) driver.get(url) # tunggu JavaScript selesai time.sleep(8) page_source = driver.page_source driver.quit() # tampilkan hasil HTML with st.expander("Lihat Source HTML (klik untuk membuka)"): st.code(page_source[:3000] + "...", language="html") # tampilkan langsung di browser st.components.v1.html(page_source, height=900, scrolling=True) except Exception as e: st.error(f"Terjadi kesalahan: {e}") else: st.write("Tekan tombol di atas untuk memuat data klasemen.")