# app.py import streamlit as st from googlesearch import search import requests # Function to perform Google search and return the first link def google_search(query): try: # Perform the search and get an iterator of results search_results = search(query, num_results=10) # Get up to 10 results first_link = next(search_results, None) # Get the first result return first_link except Exception as e: st.error(f"An error occurred: {e}") return None # Function to fetch webpage content def fetch_webpage_content(url): try: response = requests.get(url) response.raise_for_status() # Check if the request was successful return response.text except Exception as e: st.error(f"Failed to fetch the webpage content: {e}") return None # Streamlit app UI st.title("Search Link Finder") # Input field for search query query = st.text_input("Enter search query", "") # Button to trigger search if st.button("Search"): if query: first_link = google_search(query) if first_link: st.success(f"First link: [Click here]({first_link})") # Fetch webpage content webpage_content = fetch_webpage_content(first_link) if webpage_content: # Download button for the webpage content st.download_button( label="Download Webpage Content", data=webpage_content, file_name="webpage_content.html", mime="text/html" ) else: st.warning("No results found") else: st.error("Please enter a query")