Spaces:
Sleeping
Sleeping
from fastapi import FastAPI, HTTPException | |
import requests | |
from bs4 import BeautifulSoup | |
app = FastAPI() | |
def scrape_web_page(url): | |
try: | |
# Send a GET request to the URL | |
response = requests.get(url) | |
response.raise_for_status() # Raise an exception for bad response status | |
# Parse the HTML content using BeautifulSoup | |
soup = BeautifulSoup(response.content, 'html.parser') | |
# Find and extract relevant content from the HTML | |
text_content = soup.get_text(separator='\n').strip() # Get all text content, strip whitespace | |
return text_content | |
except requests.exceptions.RequestException as e: | |
print(f"Error fetching URL: {e}") | |
return None | |
def read_root(): | |
return {"message": "Welcome to the FastAPI server!"} | |
def scrape(url: str): | |
scraped_content = scrape_web_page(url) | |
if scraped_content: | |
return {"url": url, "scraped_content": scraped_content} | |
else: | |
raise HTTPException(status_code=500, detail="Failed to scrape content") | |
if __name__ == "__main__": | |
import uvicorn | |
uvicorn.run(app, host="0.0.0.0", port=8000) | |