File size: 886 Bytes
417e4b6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from fastapi import FastAPI, Request, Form
from fastapi.responses import HTMLResponse
from fastapi.templating import Jinja2Templates
from scrape import get_filtered_user_media

app = FastAPI()
templates = Jinja2Templates(directory="templates")

@app.get("/", response_class=HTMLResponse)
def form(request: Request):
    return templates.TemplateResponse("user.html", {"request": request})

@app.post("/scrape", response_class=HTMLResponse)
async def scrape_user(request: Request, username: str = Form(...)):
    try:
        user_data = get_filtered_user_media(username)
        return templates.TemplateResponse("user.html", {
            "request": request,
            "user_data": user_data
        })
    except Exception as e:
        return templates.TemplateResponse("user.html", {
            "request": request,
            "error": str(e)
        })