Arkm20 commited on
Commit
90218db
·
verified ·
1 Parent(s): 58a25a8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -11
app.py CHANGED
@@ -1,22 +1,24 @@
1
  from fastapi import FastAPI
2
- import requests
 
3
 
4
  app = FastAPI()
5
- #Yeah
6
  @app.get("/fetch")
7
  def fetch_html(url: str):
8
  try:
9
- headers = {
10
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
11
- "Referer": "https://www.google.com",
12
- "Accept-Language": "en-US,en;q=0.9",
13
- }
14
- response = requests.get(url, headers=headers)
15
- response.raise_for_status()
16
- return {"html": response.text}
17
- except requests.RequestException as e:
18
  return {"error": str(e)}
19
 
 
20
  if __name__ == "__main__":
21
  import uvicorn
 
22
  uvicorn.run(app, host="0.0.0.0", port=7860)
 
1
  from fastapi import FastAPI
2
+ from playwright.sync_api import sync_playwright
3
+ import os
4
 
5
  app = FastAPI()
6
+
7
  @app.get("/fetch")
8
  def fetch_html(url: str):
9
  try:
10
+ with sync_playwright() as p:
11
+ browser = p.chromium.launch(headless=True)
12
+ page = browser.new_page()
13
+ page.goto(url, timeout=15000)
14
+ html = page.content()
15
+ browser.close()
16
+ return {"html": html}
17
+ except Exception as e:
 
18
  return {"error": str(e)}
19
 
20
+
21
  if __name__ == "__main__":
22
  import uvicorn
23
+ os.system("playwright install chromium")
24
  uvicorn.run(app, host="0.0.0.0", port=7860)