jobwebscraping / app.py
dipsmom's picture
Upload 2 files
0f072f0 verified
import utils as utils
import streamlit as st
from io import StringIO
from datetime import datetime, date
def dataframe_to_csv_download(dataframe):
# Convert the DataFrame to a CSV string
csv = dataframe.to_csv(index=False)
csv_bytes = csv.encode('utf-8')
# Create a buffer to hold the CSV string in bytes
buf = StringIO()
buf.write(csv)
buf.seek(0)
today = datetime.now().strftime("%Y-%m-%d %H:%M")
# Create a download button in the Streamlit app
st.download_button(
label="Download CSV File",
data=csv_bytes,
file_name=f"ScrappedData_{today}.csv",
mime="text/csv",
)
if __name__=='__main__':
st.title('LinkedIn Job Scraper')
st.write('This app scrapes LinkedIn for job listings.')
url = st.text_area("Enter the url here..")
if st.button("Get Records") and url:
with st.spinner("Scrapping the given URL"):
scrap_df = utils.scrap_data(url)
st.dataframe(scrap_df)
dataframe_to_csv_download(scrap_df)
st.write('')