| 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) |
|
|
| |
| time.sleep(8) |
|
|
| page_source = driver.page_source |
| driver.quit() |
|
|
| |
| with st.expander("Lihat Source HTML (klik untuk membuka)"): |
| st.code(page_source[:3000] + "...", language="html") |
|
|
| |
| 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.") |
|
|