Spaces:
Runtime error
Runtime error
Update scraper.py
Browse files- scraper.py +16 -18
scraper.py
CHANGED
@@ -1,4 +1,3 @@
|
|
1 |
-
|
2 |
import os
|
3 |
import io
|
4 |
import time
|
@@ -11,14 +10,13 @@ from selenium import webdriver
|
|
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 selenium.webdriver.support.expected_conditions import staleness_of
|
15 |
from selenium.common.exceptions import (
|
16 |
NoSuchElementException,
|
17 |
TimeoutException,
|
18 |
StaleElementReferenceException,
|
19 |
)
|
20 |
-
from selenium.webdriver.
|
21 |
-
from selenium.webdriver.
|
22 |
|
23 |
from huggingface_hub import HfApi, HfFolder
|
24 |
|
@@ -56,23 +54,23 @@ def safe_get_text(driver, xpath, retries=1, delay=0.5):
|
|
56 |
|
57 |
|
58 |
def initialize_driver():
|
59 |
-
#
|
60 |
-
service = Service("/usr/local/bin/
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
|
|
|
|
71 |
return driver
|
72 |
|
73 |
|
74 |
-
|
75 |
-
|
76 |
def process_batch(start_id, end_id, worker_id):
|
77 |
print(f"Worker {worker_id} processing IDs {start_id} to {end_id}")
|
78 |
try:
|
|
|
|
|
1 |
import os
|
2 |
import io
|
3 |
import time
|
|
|
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 selenium.common.exceptions import (
|
14 |
NoSuchElementException,
|
15 |
TimeoutException,
|
16 |
StaleElementReferenceException,
|
17 |
)
|
18 |
+
from selenium.webdriver.chrome.options import Options
|
19 |
+
from selenium.webdriver.chrome.service import Service
|
20 |
|
21 |
from huggingface_hub import HfApi, HfFolder
|
22 |
|
|
|
54 |
|
55 |
|
56 |
def initialize_driver():
|
57 |
+
# path to the chromedriver you installed in Dockerfile
|
58 |
+
service = Service("/usr/local/bin/chromedriver")
|
59 |
+
|
60 |
+
options = Options()
|
61 |
+
# tell Selenium exactly where Chrome itself lives
|
62 |
+
options.binary_location = "/usr/bin/google-chrome-stable"
|
63 |
+
options.add_argument("--headless=new")
|
64 |
+
options.add_argument("--disable-gpu")
|
65 |
+
options.add_argument("--no-sandbox")
|
66 |
+
options.add_argument("--disable-dev-shm-usage")
|
67 |
+
options.add_argument("--window-size=1920,1080")
|
68 |
+
|
69 |
+
# launch Chrome via the Service
|
70 |
+
driver = webdriver.Chrome(service=service, options=options)
|
71 |
return driver
|
72 |
|
73 |
|
|
|
|
|
74 |
def process_batch(start_id, end_id, worker_id):
|
75 |
print(f"Worker {worker_id} processing IDs {start_id} to {end_id}")
|
76 |
try:
|