get_mhtml / main.py
ttttdiva's picture
Update main.py
a9a8ba3 verified
raw
history blame
1.05 kB
from fastapi import FastAPI
from playwright.async_api import async_playwright
import os
app = FastAPI()
@app.on_event("startup")
async def on_startup():
print("===== Application Startup =====")
url = "https://civitai.com/models/1055452/akashicpulse"
output_path = "akashicpulse.mhtml"
try:
async with async_playwright() as p:
browser = await p.chromium.launch(headless=True)
page = await browser.new_page()
await page.goto(url, wait_until="networkidle")
cdp_session = await page.context.new_cdp_session(page)
snapshot = await cdp_session.send("Page.captureSnapshot", {"format": "mhtml"})
await browser.close()
with open(output_path, "w", encoding="utf-8") as f:
f.write(snapshot)
print(f"[INFO] MHTML saved to {os.path.abspath(output_path)}")
except Exception as e:
print(f"[ERROR] Failed to save MHTML: {e}")
@app.get("/")
def read_root():
return {"message": "Check logs for MHTML creation results."}