Skip to content

Commit 17d03e1

Browse files
committed
[bug] 추천 제품 로직 배포 서버 chrome로딩 에러 수정
1 parent d9331b7 commit 17d03e1

1 file changed

Lines changed: 24 additions & 10 deletions

File tree

moodico/products/utils/scraper.py

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,34 @@
55
from selenium import webdriver
66
from selenium.webdriver.chrome.service import Service
77
from webdriver_manager.chrome import ChromeDriverManager
8+
import os,sys,shutil
89

9-
def scrape_oliveyoung_products(max_items=10):
10+
def _build_chrome_driver():
1011
# Chrome config
11-
chrome_options = webdriver.ChromeOptions()
12-
chrome_options.add_argument("--headless")
13-
chrome_options.add_argument("--no-sandbox")
14-
chrome_options.add_argument("--disable-dev-shm-usage")
15-
chrome_options.add_argument("--disable-gpu")
16-
chrome_options.add_argument(
17-
"user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"
12+
options = webdriver.ChromeOptions()
13+
options.add_argument("--headless=new")
14+
options.add_argument("--no-sandbox")
15+
options.add_argument("--disable-dev-shm-usage")
16+
options.add_argument("--disable-gpu")
17+
options.add_argument(
18+
"user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
19+
"(KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"
1820
)
1921

20-
# Browser 시작
21-
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)
22+
# Linux (Ubuntu) 배포 서버
23+
if sys.platform.startswith("linux"):
24+
# Prefer system chromium/chromedriver if they exist
25+
chromium_bin = shutil.which("chromium-browser") or shutil.which("chromium")
26+
chromedriver_sys = shutil.which("chromedriver")
27+
if chromium_bin and chromedriver_sys:
28+
options.binary_location = chromium_bin
29+
return webdriver.Chrome(service=Service(chromedriver_sys), options=options)
30+
31+
# macOS/Windows or fallback -> use webdriver_manager
32+
return webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
33+
34+
def scrape_oliveyoung_products(max_items=10):
35+
driver = _build_chrome_driver()
2236
products = []
2337

2438
try:

0 commit comments

Comments
 (0)