yoon2566 commited on
Commit
f640b97
ยท
verified ยท
1 Parent(s): e2db192

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -2
app.py CHANGED
@@ -1,5 +1,6 @@
1
  import gradio as gr
2
  from youtube_transcript_api import YouTubeTranscriptApi
 
3
  import re
4
 
5
  def extract_video_id(url):
@@ -18,7 +19,21 @@ def get_transcript(url):
18
  if not video_id:
19
  return "์˜ฌ๋ฐ”๋ฅธ YouTube URL์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”."
20
 
21
- transcript_list = YouTubeTranscriptApi.get_transcript(video_id, languages=['ko', 'en'])
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
 
23
  # ์ „์ฒด ์Šคํฌ๋ฆฝํŠธ ํ…์ŠคํŠธ ๊ตฌ์„ฑ
24
  full_transcript = ""
@@ -31,6 +46,8 @@ def get_transcript(url):
31
 
32
  return full_transcript
33
 
 
 
34
  except Exception as e:
35
  return f"์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค: {str(e)}"
36
 
@@ -40,7 +57,7 @@ iface = gr.Interface(
40
  inputs=gr.Textbox(label="YouTube URL์„ ์ž…๋ ฅํ•˜์„ธ์š”"),
41
  outputs=gr.Textbox(label="์ถ”์ถœ๋œ ์Šคํฌ๋ฆฝํŠธ", lines=10),
42
  title="YouTube ์Šคํฌ๋ฆฝํŠธ ์ถ”์ถœ๊ธฐ",
43
- description="YouTube ์˜์ƒ์˜ URL์„ ์ž…๋ ฅํ•˜๋ฉด ์ž๋™์œผ๋กœ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค."
44
  )
45
 
46
  # ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰
 
1
  import gradio as gr
2
  from youtube_transcript_api import YouTubeTranscriptApi
3
+ from youtube_transcript_api._errors import NoTranscriptFound, TranscriptsDisabled
4
  import re
5
 
6
  def extract_video_id(url):
 
19
  if not video_id:
20
  return "์˜ฌ๋ฐ”๋ฅธ YouTube URL์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”."
21
 
22
+ try:
23
+ # ๋จผ์ € ํ•œ๊ตญ์–ด ์ž๋ง‰ ์‹œ๋„
24
+ transcript_list = YouTubeTranscriptApi.get_transcript(video_id, languages=['ko'])
25
+ except NoTranscriptFound:
26
+ try:
27
+ # ํ•œ๊ตญ์–ด ์ž๋ง‰์ด ์—†์œผ๋ฉด ์˜์–ด ์ž๋ง‰ ์‹œ๋„
28
+ transcript_list = YouTubeTranscriptApi.get_transcript(video_id, languages=['en'])
29
+ except NoTranscriptFound:
30
+ try:
31
+ # ์ผ๋ฐ˜ ์ž๋ง‰์ด ์—†์œผ๋ฉด ์ž๋™ ์ƒ์„ฑ๋œ ์ž๋ง‰ ์‹œ๋„
32
+ transcript_list = YouTubeTranscriptApi.list_transcripts(video_id)
33
+ transcript = transcript_list.find_generated_transcript(['ko', 'en'])
34
+ transcript_list = transcript.fetch()
35
+ except:
36
+ return "์ด ์˜์ƒ์—๋Š” ์ž๋ง‰์ด ์—†๊ฑฐ๋‚˜ ์ž๋ง‰์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค."
37
 
38
  # ์ „์ฒด ์Šคํฌ๋ฆฝํŠธ ํ…์ŠคํŠธ ๊ตฌ์„ฑ
39
  full_transcript = ""
 
46
 
47
  return full_transcript
48
 
49
+ except TranscriptsDisabled:
50
+ return "์ด ์˜์ƒ์€ ์ž๋ง‰์ด ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค."
51
  except Exception as e:
52
  return f"์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค: {str(e)}"
53
 
 
57
  inputs=gr.Textbox(label="YouTube URL์„ ์ž…๋ ฅํ•˜์„ธ์š”"),
58
  outputs=gr.Textbox(label="์ถ”์ถœ๋œ ์Šคํฌ๋ฆฝํŠธ", lines=10),
59
  title="YouTube ์Šคํฌ๋ฆฝํŠธ ์ถ”์ถœ๊ธฐ",
60
+ description="YouTube ์˜์ƒ์˜ URL์„ ์ž…๋ ฅํ•˜๋ฉด ์ž๋™์œผ๋กœ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. (์ผ๋ฐ˜ ์ž๋ง‰ ๋˜๋Š” ์ž๋™ ์ƒ์„ฑ๋œ ์ž๋ง‰)"
61
  )
62
 
63
  # ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰