web-crawling / main.py
pvanand's picture
Update main.py
1d78f18 verified
raw
history blame
876 Bytes
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
import hrequests
from fastapi.middleware.cors import CORSMiddleware
app = FastAPI()
class URLRequest(BaseModel):
url: str
@app.post("/scrape")
async def scrape(url_request: URLRequest):
try:
response = hrequests.get(url_request.url)
response.raise_for_status() # Raise an HTTPError for bad responses
return {"content": response.text}
except hrequests.exceptions.RequestException as e:
raise HTTPException(status_code=400, detail=str(e))
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
@app.get("/", tags=["Home"])
def api_home():
return {'detail': 'Welcome to FastAPI Subtopics API! Visit https://pvanand-generate-subtopics.hf.space/docs to test'}