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.")
|