plan291037 commited on
Commit
4d583a3
·
verified ·
1 Parent(s): a84c9f3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -25
app.py CHANGED
@@ -1,34 +1,21 @@
1
- from fastapi import FastAPI
2
  from pydantic import BaseModel
3
- from seleniumbase import Driver
4
- import threading
5
- import time
6
  import queue
7
 
8
  app = FastAPI()
 
9
 
10
  class URLRequest(BaseModel):
11
  url: str
12
 
13
- url_queue = queue.Queue()
14
-
15
- driver = Driver(uc=True, headless=True, incognito=True, agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/85.0.4183.83 Safari/537.36")
16
-
17
- def browser_worker():
18
- while True:
19
- url = url_queue.get()
20
- try:
21
- print(f"[open] {url}")
22
- driver.open(url)
23
- time.sleep(0.5)
24
- except Exception as e:
25
- print("[error]", e)
26
- url_queue.task_done()
27
-
28
- threading.Thread(target=browser_worker, daemon=True).start()
29
 
30
- @app.post("/open_url")
31
- async def open_url(request: URLRequest):
32
- print(f"[queue] {request.url}")
33
- url_queue.put(request.url)
34
- return {"status": "queued", "url": request.url}
 
1
+ from fastapi import FastAPI, Request
2
  from pydantic import BaseModel
3
+ from typing import List
 
 
4
  import queue
5
 
6
  app = FastAPI()
7
+ url_queue = queue.Queue()
8
 
9
  class URLRequest(BaseModel):
10
  url: str
11
 
12
+ @app.post("/submit")
13
+ async def submit_url(req: URLRequest):
14
+ url_queue.put(req.url)
15
+ return {"status": "queued", "url": req.url}
 
 
 
 
 
 
 
 
 
 
 
 
16
 
17
+ @app.get("/next")
18
+ async def get_next_url():
19
+ if url_queue.empty():
20
+ return {"status": "empty"}
21
+ return {"url": url_queue.get()}