|
import streamlit as st |
|
from extract import take_webdata, get_vehicle_info |
|
from PIL import Image |
|
from io import BytesIO |
|
|
|
def main(): |
|
st.title("Website Content Exctractor") |
|
|
|
|
|
url = st.text_input("Masukkan Nopol:", "") |
|
if st.button("Proceed"): |
|
if not url: |
|
st.warning("Nopol kosong.") |
|
else: |
|
visualize(url) |
|
|
|
|
|
def visualize(url): |
|
try: |
|
|
|
with st.spinner("loading website data ..."): |
|
|
|
|
|
html_image, html_content, data = get_vehicle_info(url) |
|
st.subheader("Website title:") |
|
if html_content: |
|
st.info(html_content) |
|
else: |
|
st.error("Error: empty html content") |
|
st.subheader("Website preview:") |
|
if html_image: |
|
st.image(html_image) |
|
else: |
|
st.error("Error: empty html preview") |
|
|
|
data_kendaraan, total_tagihan, rincians_pkb, rincians_swd = data |
|
|
|
st.json( |
|
{ |
|
"data_kendaraan":data_kendaraan, |
|
"rincian_tagihan":total_tagihan, |
|
"rincian_pkb":[x for x in rincians_pkb if any(x.values())], |
|
"rincian_swdkllj":[x for x in rincians_swd if any(x.values())] |
|
} |
|
) |
|
|
|
|
|
except Exception as e: |
|
st.error(f"Error: {e}") |
|
|
|
|
|
|
|
if __name__ == "__main__": |
|
main() |
|
|