File size: 1,702 Bytes
5aaf361
 
49bc615
5aaf361
 
 
 
 
 
49bc615
 
5aaf361
 
 
49bc615
 
5aaf361
49bc615
 
 
 
 
 
 
5aaf361
49bc615
 
5aaf361
49bc615
 
5aaf361
49bc615
 
5aaf361
49bc615
 
 
5aaf361
49bc615
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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.")