File size: 1,702 Bytes
90a0b92
 
de68bed
90a0b92
c156dde
c5d651d
90a0b92
de68bed
90a0b92
de68bed
 
0951d53
de68bed
c156dde
de68bed
 
c156dde
de68bed
c156dde
de68bed
c156dde
 
de68bed
 
c156dde
de68bed
52bd9f5
 
de68bed
 
c156dde
 
 
52bd9f5
de68bed
 
 
90a0b92
de68bed
 
90a0b92
de68bed
 
90a0b92
de68bed
 
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.")