A lightweight Python library for fetching YouTube videos' metadata.
Project description
Meta-YT
Meta-YT is a lightweight Python library for fetching YouTube video metadata. It allows users to interact with YouTube videos, captions, and playlists, making it easier to retrieve information and captions from YouTube.
Submit Issues · Releases
Key Features
- Video Metadata: Retrieve detailed metadata for YouTube videos, including title, duration, views, thumbnails, and more.
- Captions: Fetch and process captions (subtitles) for YouTube videos.
- YouTube Search: Perform YouTube searches and fetch metadata for the top results.
Installation
Install Meta-YT using pip:
pip install -U meta-yt
Usage
Here is a quick guide on how to use the library.
Importing Necessary Modules
from meta_yt import YouTube, Video, Caption
Initializing the YouTube Object
You can initialize the YouTube
object either with a search query or a video URL.
Using a Search Query
yt = YouTube("cat videos")
print(yt.video.title)
Using a Video URL
yt = YouTube("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
print(yt.video.title)
Fetching Captions
You can fetch captions for a video and convert them to SubRip (SRT) format.
captions = yt.video.get_captions(include_generated=True)
for caption in captions:
print(caption.language_code)
print(caption.auto_generated)
print(caption.to_srt())
Since this library does not include a function to download or decrypt video streams, you will need to use external libraries such as YTDL or PyTube for those purposes.
API Reference
class YouTube
Represents a YouTube video and provides metadata fetching functionality.
__init__(self, query: str)
Initializes a YouTube object.
Args:
query
(str): The search query or video URL.
class Video
Represents a YouTube video and provides methods to fetch metadata and captions.
__init__(self, videoId: str)
Initializes a Video object.
Args:
videoId
(str): The ID of the YouTube video.
Attributes
video_id
The video ID.url
: The URL of the YouTube video.title
: The title of the video.channel
: The channel name of the video.duration
: The duration of the video.views
: The number of views on the video.thumbnail
: The URL of the video thumbnail.thumbnails
: A list of all URLs of video thumbnails.channel_url
: The URL of the video channel.channel_id
: The ID of the video channel.keywords
: A list of keywords of the video.metadata
: Additional metadata fetched from the YouTube API.
get_captions(self, include_generated: bool = False) -> list
Fetches the captions for the video.
Args:
include_generated
(bool, optional): Whether to include auto-generated captions. Defaults toFalse
.
Returns:
captions
: A list ofCaption
objects.
class Caption
Represents captions for a YouTube video.
__init__(self, baseUrl: str, language_code: str)
Initializes a Caption object.
Args:
baseUrl
(str): The base URL of the video.language_code
(str): The ISO 639-1 language code of the captions.
Attributes
url
: The URL for fetching captions.language_code
: The ISO 639-1 language code of the captions.language
: The language name of the captions.transcript
: A list containing dictionaries representing each line of the transcript.
to_srt(self) -> str
Converts the transcript to SubRip (SRT) format.
Returns:
str
: The transcript in SubRip (SRT) format.
Contributing
We welcome contributions! Please fork the repository and submit pull requests.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file meta_yt-0.1.9.tar.gz
.
File metadata
- Download URL: meta_yt-0.1.9.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13bbe4b42497e93d7b766ab0e70d77c87220d380278bf897039a9cbe4e5615de |
|
MD5 | 185bd25dcd6ccbd81806a021b7ba3b3a |
|
BLAKE2b-256 | 1adf06b972fdaa4f7adf852cd7454ad8afabe36daec4e31efde38f98931d71a3 |
File details
Details for the file meta_yt-0.1.9-py3-none-any.whl
.
File metadata
- Download URL: meta_yt-0.1.9-py3-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e9020b0cbb65ffc0390741603ff8fc5b8e4c966837e816cca28a8e8b063ccf3 |
|
MD5 | 97c402412c4555b61340457f85e99ca5 |
|
BLAKE2b-256 | 5bbc0a39c566b07e099a920e344c833e1d98b9e2b0526b6fdf0217cfba564a89 |