跳到主要內容
Open In ColabOpen on GitHub

YouTube transcripts

YouTube 是由 Google 建立的線上影片分享和社群媒體平台。

本筆記本涵蓋如何從 YouTube 轉錄載入文件。

from langchain_community.document_loaders import YoutubeLoader
API 參考:YoutubeLoader
%pip install --upgrade --quiet  youtube-transcript-api
loader = YoutubeLoader.from_youtube_url(
"https://www.youtube.com/watch?v=QsYGlZkevEg", add_video_info=False
)
loader.load()

新增影片資訊

%pip install --upgrade --quiet  pytube
loader = YoutubeLoader.from_youtube_url(
"https://www.youtube.com/watch?v=QsYGlZkevEg", add_video_info=True
)
loader.load()

新增語言偏好設定

Language 參數:它是一個語言代碼列表,依優先順序降序排列,預設為 en。

translation 參數:它是一個翻譯偏好設定,您可以將可用的轉錄翻譯成您偏好的語言。

loader = YoutubeLoader.from_youtube_url(
"https://www.youtube.com/watch?v=QsYGlZkevEg",
add_video_info=True,
language=["en", "id"],
translation="en",
)
loader.load()

取得帶時間戳記區塊的轉錄

取得一個或多個 Document 物件,每個物件包含一段影片轉錄。區塊的長度可以秒為單位指定。每個區塊的元數據都包含 YouTube 影片的 URL,該 URL 將從特定區塊的開頭開始播放影片。

transcript_format 參數:langchain_community.document_loaders.youtube.TranscriptFormat 的其中一個值。在本例中為 TranscriptFormat.CHUNKS。

chunk_size_seconds 參數:一個整數,表示每個轉錄資料區塊所代表的影片秒數。預設為 120 秒。

from langchain_community.document_loaders.youtube import TranscriptFormat

loader = YoutubeLoader.from_youtube_url(
"https://www.youtube.com/watch?v=TKCMw0utiak",
add_video_info=True,
transcript_format=TranscriptFormat.CHUNKS,
chunk_size_seconds=30,
)
print("\n\n".join(map(repr, loader.load())))
API 參考:TranscriptFormat

從 Google Cloud 載入 YouTube

先決條件

  1. 建立 Google Cloud 專案或使用現有專案
  2. 啟用 Youtube API
  3. 授權桌面應用程式的憑證
  4. pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib youtube-transcript-api

🧑 匯入 Google 文件資料的說明

預設情況下,GoogleDriveLoader 期望 credentials.json 檔案位於 ~/.credentials/credentials.json,但可以使用 credentials_file 關鍵字參數進行配置。token.json 也一樣。請注意,token.json 將在您第一次使用載入器時自動建立。

GoogleApiYoutubeLoader 可以從 Google 文件文件 ID 列表或資料夾 ID 載入。您可以從 URL 取得您的資料夾和文件 ID:注意,根據您的設定,需要設定 service_account_path。請參閱此處以取得更多詳細資訊。

# Init the GoogleApiClient
from pathlib import Path

from langchain_community.document_loaders import GoogleApiClient, GoogleApiYoutubeLoader

google_api_client = GoogleApiClient(credentials_path=Path("your_path_creds.json"))


# Use a Channel
youtube_loader_channel = GoogleApiYoutubeLoader(
google_api_client=google_api_client,
channel_name="Reducible",
captions_language="en",
)

# Use Youtube Ids

youtube_loader_ids = GoogleApiYoutubeLoader(
google_api_client=google_api_client, video_ids=["TrdevFK_am4"], add_video_info=True
)

# returns a list of Documents
youtube_loader_channel.load()

此頁面是否對您有幫助?