langchain_community.document_loaders.youtube.GoogleApiYoutubeLoader

class langchain_community.document_loaders.youtube.GoogleApiYoutubeLoader(google_api_client: GoogleApiClient, channel_name: Optional[str] = None, video_ids: Optional[List[str]] = None, add_video_info: bool = True, captions_language: str = 'en', continue_on_failure: bool = False)[source]

Load all Videos from a YouTube Channel.

To use, you should have the googleapiclient,youtube_transcript_api python package installed. As the service needs a google_api_client, you first have to initialize the GoogleApiClient.

Additionally you have to either provide a channel name or a list of videoids “https://developers.google.com/docs/api/quickstart/python

Example

from langchain_community.document_loaders import GoogleApiClient
from langchain_community.document_loaders import GoogleApiYoutubeLoader
google_api_client = GoogleApiClient(
    service_account_path=Path("path_to_your_sec_file.json")
)
loader = GoogleApiYoutubeLoader(
    google_api_client=google_api_client,
    channel_name = "CodeAesthetic"
)
load.load()

Attributes

add_video_info

captions_language

channel_name

continue_on_failure

video_ids

google_api_client

Methods

__init__(google_api_client[, channel_name, ...])

lazy_load()

A lazy loader for Documents.

load()

Load documents.

load_and_split([text_splitter])

Load Documents and split into chunks.

validate_channel_or_videoIds_is_set(values)

Validate that either folder_id or document_ids is set, but not both.

__init__(google_api_client: GoogleApiClient, channel_name: Optional[str] = None, video_ids: Optional[List[str]] = None, add_video_info: bool = True, captions_language: str = 'en', continue_on_failure: bool = False) None
lazy_load() Iterator[Document]

A lazy loader for Documents.

load() List[Document][source]

Load documents.

load_and_split(text_splitter: Optional[TextSplitter] = None) List[Document]

Load Documents and split into chunks. Chunks are returned as Documents.

Parameters

text_splitter – TextSplitter instance to use for splitting documents. Defaults to RecursiveCharacterTextSplitter.

Returns

List of Documents.

classmethod validate_channel_or_videoIds_is_set(values: Dict[str, Any]) Dict[str, Any][source]

Validate that either folder_id or document_ids is set, but not both.

Examples using GoogleApiYoutubeLoader