ginipick commited on
Commit
88fe1ec
·
verified ·
1 Parent(s): db7d8c2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -11
app.py CHANGED
@@ -12,6 +12,11 @@ from io import BytesIO
12
 
13
  from playwright.sync_api import sync_playwright
14
 
 
 
 
 
 
15
  HF_TOKEN = os.getenv("HF_TOKEN")
16
  hf_client = InferenceClient("CohereForAI/c4ai-command-r-plus-08-2024", token=HF_TOKEN)
17
 
@@ -108,18 +113,29 @@ def on_select(space):
108
  print(traceback.format_exc())
109
  return f"오류가 발생했습니다: {str(e)}", "", Image.new('RGB', (1, 1))
110
 
 
 
111
  def take_screenshot(url):
112
  try:
113
- with sync_playwright() as p:
114
- browser = p.chromium.launch()
115
- page = browser.new_page()
116
- page.goto(url)
117
- screenshot = page.screenshot()
118
- browser.close()
 
 
 
 
 
 
 
119
  return Image.open(BytesIO(screenshot))
120
  except Exception as e:
121
  print(f"Screenshot error: {str(e)}")
122
  return Image.new('RGB', (1, 1))
 
 
123
  def create_ui():
124
  try:
125
  spaces_list = get_most_liked_spaces()
@@ -170,11 +186,6 @@ def create_ui():
170
 
171
  if __name__ == "__main__":
172
  try:
173
- # Playwright 브라우저 및 의존성 설치
174
- import subprocess
175
- subprocess.run(["playwright", "install", "chromium"], check=True)
176
- subprocess.run(["playwright", "install-deps"], check=True)
177
-
178
  demo = create_ui()
179
  demo.launch()
180
  except Exception as e:
 
12
 
13
  from playwright.sync_api import sync_playwright
14
 
15
+
16
+ from selenium.webdriver.chrome.service import Service
17
+ from webdriver_manager.chrome import ChromeDriverManager
18
+ from selenium.webdriver.chrome.options import Options
19
+
20
  HF_TOKEN = os.getenv("HF_TOKEN")
21
  hf_client = InferenceClient("CohereForAI/c4ai-command-r-plus-08-2024", token=HF_TOKEN)
22
 
 
113
  print(traceback.format_exc())
114
  return f"오류가 발생했습니다: {str(e)}", "", Image.new('RGB', (1, 1))
115
 
116
+
117
+
118
  def take_screenshot(url):
119
  try:
120
+ chrome_options = Options()
121
+ chrome_options.add_argument("--headless")
122
+ chrome_options.add_argument("--no-sandbox")
123
+ chrome_options.add_argument("--disable-dev-shm-usage")
124
+
125
+ service = Service(ChromeDriverManager().install())
126
+ driver = webdriver.Chrome(service=service, options=chrome_options)
127
+
128
+ driver.get(url)
129
+ driver.set_window_size(1080, 720)
130
+ screenshot = driver.get_screenshot_as_png()
131
+ driver.quit()
132
+
133
  return Image.open(BytesIO(screenshot))
134
  except Exception as e:
135
  print(f"Screenshot error: {str(e)}")
136
  return Image.new('RGB', (1, 1))
137
+
138
+
139
  def create_ui():
140
  try:
141
  spaces_list = get_most_liked_spaces()
 
186
 
187
  if __name__ == "__main__":
188
  try:
 
 
 
 
 
189
  demo = create_ui()
190
  demo.launch()
191
  except Exception as e: