Spaces:
Sleeping
Sleeping
Upload 2 files
Browse files- app.py +8 -4
- requirements.txt +4 -4
app.py
CHANGED
|
@@ -7,13 +7,15 @@ import tempfile
|
|
| 7 |
import os
|
| 8 |
from selenium import webdriver
|
| 9 |
from selenium.webdriver.chrome.options import Options
|
|
|
|
| 10 |
from selenium.webdriver.common.by import By
|
| 11 |
from selenium.webdriver.support.ui import WebDriverWait
|
| 12 |
from selenium.webdriver.support import expected_conditions as EC
|
| 13 |
from datetime import datetime
|
| 14 |
import pytz
|
|
|
|
| 15 |
|
| 16 |
-
|
| 17 |
|
| 18 |
app = Flask(__name__)
|
| 19 |
CORS(app)
|
|
@@ -23,8 +25,6 @@ import requests
|
|
| 23 |
from bs4 import BeautifulSoup
|
| 24 |
from flask import jsonify
|
| 25 |
|
| 26 |
-
os.environ["SE_CACHE_PATH"] = "/tmp/selenium"
|
| 27 |
-
|
| 28 |
@app.route('/routelist', methods=['GET'])
|
| 29 |
def getRouteList():
|
| 30 |
url = "https://www.transsee.ca/routelist?a=ttc&ShowAll=1"
|
|
@@ -263,8 +263,12 @@ def seek():
|
|
| 263 |
options.add_argument("--headless=new")
|
| 264 |
options.add_argument("--disable-gpu")
|
| 265 |
options.add_argument("--no-sandbox")
|
|
|
|
|
|
|
| 266 |
|
| 267 |
-
|
|
|
|
|
|
|
| 268 |
driver.get(url)
|
| 269 |
|
| 270 |
# Wait for the page to load and look for divp elements
|
|
|
|
| 7 |
import os
|
| 8 |
from selenium import webdriver
|
| 9 |
from selenium.webdriver.chrome.options import Options
|
| 10 |
+
from selenium.webdriver.chrome.service import Service
|
| 11 |
from selenium.webdriver.common.by import By
|
| 12 |
from selenium.webdriver.support.ui import WebDriverWait
|
| 13 |
from selenium.webdriver.support import expected_conditions as EC
|
| 14 |
from datetime import datetime
|
| 15 |
import pytz
|
| 16 |
+
from webdriver_manager.chrome import ChromeDriverManager
|
| 17 |
|
| 18 |
+
os.environ["SE_CACHE_PATH"] = "/tmp/selenium"
|
| 19 |
|
| 20 |
app = Flask(__name__)
|
| 21 |
CORS(app)
|
|
|
|
| 25 |
from bs4 import BeautifulSoup
|
| 26 |
from flask import jsonify
|
| 27 |
|
|
|
|
|
|
|
| 28 |
@app.route('/routelist', methods=['GET'])
|
| 29 |
def getRouteList():
|
| 30 |
url = "https://www.transsee.ca/routelist?a=ttc&ShowAll=1"
|
|
|
|
| 263 |
options.add_argument("--headless=new")
|
| 264 |
options.add_argument("--disable-gpu")
|
| 265 |
options.add_argument("--no-sandbox")
|
| 266 |
+
options.add_argument("--disable-dev-shm-usage")
|
| 267 |
+
options.add_argument("--remote-debugging-port=9222")
|
| 268 |
|
| 269 |
+
# Use webdriver-manager to automatically handle ChromeDriver
|
| 270 |
+
service = Service(ChromeDriverManager().install())
|
| 271 |
+
driver = webdriver.Chrome(service=service, options=options)
|
| 272 |
driver.get(url)
|
| 273 |
|
| 274 |
# Wait for the page to load and look for divp elements
|
requirements.txt
CHANGED
|
@@ -6,7 +6,6 @@ click==8.1.8
|
|
| 6 |
easyocr==1.7.2
|
| 7 |
filelock==3.18.0
|
| 8 |
Flask==3.1.0
|
| 9 |
-
flask-cors
|
| 10 |
fsspec==2025.3.2
|
| 11 |
gunicorn==23.0.0
|
| 12 |
idna==3.10
|
|
@@ -16,9 +15,9 @@ Jinja2==3.1.6
|
|
| 16 |
lazy_loader==0.4
|
| 17 |
MarkupSafe==3.0.2
|
| 18 |
mpmath==1.3.0
|
| 19 |
-
networkx
|
| 20 |
ninja==1.11.1.4
|
| 21 |
-
numpy
|
| 22 |
opencv-python-headless==4.11.0.86
|
| 23 |
packaging==25.0
|
| 24 |
pillow==11.2.1
|
|
@@ -38,4 +37,5 @@ typing_extensions==4.13.2
|
|
| 38 |
urllib3==2.4.0
|
| 39 |
Werkzeug==3.1.3
|
| 40 |
selenium
|
| 41 |
-
pytz
|
|
|
|
|
|
| 6 |
easyocr==1.7.2
|
| 7 |
filelock==3.18.0
|
| 8 |
Flask==3.1.0
|
|
|
|
| 9 |
fsspec==2025.3.2
|
| 10 |
gunicorn==23.0.0
|
| 11 |
idna==3.10
|
|
|
|
| 15 |
lazy_loader==0.4
|
| 16 |
MarkupSafe==3.0.2
|
| 17 |
mpmath==1.3.0
|
| 18 |
+
networkx==3.4.2
|
| 19 |
ninja==1.11.1.4
|
| 20 |
+
numpy==2.2.5
|
| 21 |
opencv-python-headless==4.11.0.86
|
| 22 |
packaging==25.0
|
| 23 |
pillow==11.2.1
|
|
|
|
| 37 |
urllib3==2.4.0
|
| 38 |
Werkzeug==3.1.3
|
| 39 |
selenium
|
| 40 |
+
pytz
|
| 41 |
+
webdriver-manager
|