Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 017dbbf

Browse files
author
FatBobGo
committed
Refactor OpenAI client initialization and update transcript fetching method
1 parent a1f00cb commit 017dbbf

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

‎web-scraping/youtube-transcript-summarizer/youtube_transcript_summarizer.py‎

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import os
2-
import re
2+
import sys
33
import nltk
44
import pytube
5-
import youtube_transcript_api
65
from youtube_transcript_api import YouTubeTranscriptApi
76
from nltk.corpus import stopwords
87
from nltk.tokenize import sent_tokenize, word_tokenize
@@ -21,11 +20,17 @@
2120
nltk.download('punkt', quiet=True)
2221
nltk.download('stopwords', quiet=True)
2322

24-
# Initialize OpenAI client
25-
client = OpenAI(
26-
base_url="https://openrouter.ai/api/v1",
27-
api_key="<api_key>", # Add your OpenRouter API key here
28-
)
23+
# Initialize OpenAI client from environment variable
24+
# Expect the OpenRouter API key to be provided via OPENROUTER_API_KEY
25+
api_key = os.getenv("OPENROUTER_API_KEY")
26+
if not api_key:
27+
print(Fore.RED + "Error: OPENROUTER_API_KEY environment variable is not set or is still the placeholder ('<api_key>').")
28+
sys.exit(1)
29+
else:
30+
client = OpenAI(
31+
base_url="https://openrouter.ai/api/v1",
32+
api_key=api_key,
33+
)
2934

3035
def extract_video_id(youtube_url):
3136
"""Extract the video ID from a YouTube URL."""
@@ -48,8 +53,10 @@ def extract_video_id(youtube_url):
4853
def get_transcript(video_id):
4954
"""Get the transcript of a YouTube video."""
5055
try:
51-
transcript = YouTubeTranscriptApi.get_transcript(video_id)
52-
return ' '.join([entry['text'] for entry in transcript])
56+
youtube_transcript_api = YouTubeTranscriptApi()
57+
fetched_transcript = youtube_transcript_api.fetch(video_id)
58+
full_transcript = " ".join([snippet.text for snippet in fetched_transcript.snippets])
59+
return full_transcript.strip()
5360
except Exception as e:
5461
return f"Error retrieving transcript: {str(e)}."
5562

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /