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

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +32 -12
app.py CHANGED
@@ -1,21 +1,41 @@
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()}
 
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
+ import json
8
 
9
  app = FastAPI()
 
10
 
11
  class URLRequest(BaseModel):
12
  url: str
13
 
14
+ url_queue = queue.Queue()
15
+
16
+ driver = Driver(uc=True, headless=False, incognito=True)
17
+ driver.get("https://www.google.com")
18
+
19
+ @app.get("/cookies")
20
+ def get_cookies():
21
+ cookies = driver.get_cookies()
22
+ return cookies
23
+
24
+ def browser_worker():
25
+ while True:
26
+ url = url_queue.get()
27
+ try:
28
+ print(f"[open] {url}")
29
+ driver.get(url)
30
+ time.sleep(0.5)
31
+ except Exception as e:
32
+ print("[error]", e)
33
+ url_queue.task_done()
34
+
35
+ threading.Thread(target=browser_worker, daemon=True).start()
36
 
37
+ @app.post("/open_url")
38
+ async def open_url(request: URLRequest):
39
+ print(f"[queue] {request.url}")
40
+ url_queue.put(request.url)
41
+ return {"status": "queued", "url": request.url}