youtubepy is a package to search for youtube videos with python
Project description
youtubepy
youtubepy is a package to search for youtube videos through python code.
Installation
pip install youtubepy
OR
pip3 install youtubepy
Usage
Video class
from youtubepy import Video
video = Video("me at the zoo")
result = video.search()
print(result)
> https://www.youtube.com/watch?v=A8AlbaDmaec
SafeSearch Filter
from youtubepy import Video
video = Video("fuck", safesearch=True)
result = video.search()
print(result)
> "youtubepy.BlockedWordError: A blocked word detected in the result video! Don't use safesearch to ignore this error!"
Functions available in Video class
search() - Returns video url
source_url() - Returns the source url of the video
audio_source() - Returns the audio source url of the video
download(/path/to/directory/filename.mp4) - Downloads the video
audio_download(/path/to/directory/filename.mp3) - Downloads the audio of a youtube video
title() - Returns video title
description() - Returns description of the video
channel_url() - Returns the url of the channel that published the video
channel_name() - Returns the name of the channel that published the video
published_date() - Returns the date the video was published to YouTube
thumbnail_url() - Returns thumbnail url of the video
thumbnail_save(/path/to/directory/filename.jpg) - Saves the thumbnail of the video, if path is not given, saves to the path in which the script is saved
duration() - Returns duration of the video
view_count() - Returns view count of the video
like_count() - Returns like count of the video
dislike_count() - Returns dislike count of the video
average_rating() - Returns average rating of the video
ExtractData class
from youtubepy import ExtractData
video = ExtractData("https://youtu.be/A8AlbaDmaec")
title = video.title()
print(title)
> Me at the zoo - 4k Upscaled, 60 FPS
Functions available in ExtractData class
source_url() - Returns the source url of the video
audio_source() - Returns the audio source url of the video
download(/path/to/directory/filename.mp4) - Downloads the video
audio_download(/path/to/directory/filename.mp3) - Downloads the audio of a youtube video
title() - Returns video title
description() - Returns description of the video
channel_url() - Returns the url of the channel that published the video
channel_name() - Returns the name of the channel that published the video
published_date() - Returns the date the video was published to YouTube
thumbnail_url() - Returns thumbnail url of the video
thumbnail_save(/path/to/directory/to/save/filename.jpg) - Saves the thumbnail of the video, if path is not given, saves to the path in which the script is saved
duration() - Returns duration of the video
view_count() - Returns view count of the video
like_count() - Returns like count of the video
dislike_count() - Returns dislike count of the video
average_rating() - Returns average rating of the video
This package also has asynchronous working classes that are used in discord.py for creating non-blocking commands!
AsyncVideo class
#discord.py example!
import discord
import asyncio
import youtubepy
from discord.ext import commands
bot = commands.Bot(command_prefix="!")
@bot.command()
async def youtube(ctx, query):
video = youtubepy.AsyncVideo("spooky scary skeletons")
url = await video.search()
await ctx.send(url)
Functions of AsyncVideo class are same as Video class
AsyncExtractData class
#Not a discord.py example!
import youtubepy
import asyncio
async def get_title():
video = youtubepy.AsyncExtractData("https://youtu.be/XTgFtxHhCQ0")
title = await video.title()
print(title)
asyncio.run(get_title())
Functions of AsyncExtractData class are same as ExtractData class
It is highly recommended to use the asynchronous classes while using youtubepy in discord.py as using non-asynchronous classes in discord.py can make your code extremely blocking! In simple language, using non-asynchronous classes in discord.py is same as using time.sleep() in your bot code!
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
Hashes for youtubepy-6.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d4bb1201227ac45f470ba1c65fde776f7397d55cf28d967211f144b93f08b5f |
|
MD5 | 06c3bab178cc1dc458a77e874441b4c9 |
|
BLAKE2b-256 | dbb7e2cbc117ce135ba426bc3c5b6ee0cebe8d0b950460661238e5f1762e7679 |