|
import streamlit as st |
|
import requests |
|
from bs4 import BeautifulSoup |
|
|
|
def fetch_page_title(url): |
|
""" |
|
Fetches the title of the given URL. |
|
|
|
Args: |
|
url (str): The URL of the webpage. |
|
|
|
Returns: |
|
str: The title of the webpage or an error message. |
|
""" |
|
try: |
|
response = requests.get(url) |
|
if response.status_code == 200: |
|
soup = BeautifulSoup(response.text, 'html.parser') |
|
title = soup.title.string if soup.title else 'No title found' |
|
return title |
|
else: |
|
return f"Error: Received status code {response.status_code}" |
|
except Exception as e: |
|
return f"An error occurred: {e}" |
|
|
|
def main(): |
|
""" |
|
Main function to run the Streamlit application. |
|
""" |
|
st.title("OSINT Tool") |
|
st.write("Enter a URL to fetch its title:") |
|
|
|
url = st.text_input("URL") |
|
if url: |
|
title = fetch_page_title(url) |
|
st.write(f"Title: {title}") |
|
|
|
if __name__ == "__main__": |
|
main() |
|
|