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
File details
Details for the file youtubepy-6.0.2.tar.gz
.
File metadata
- Download URL: youtubepy-6.0.2.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20cfa29001247cf381970bc3ab1cf5ad9fbafa0ebddc24cd4cb0e3f1356c7593 |
|
MD5 | df4e5945a18508440f281ff3abc443ca |
|
BLAKE2b-256 | 1bae6ac202d593845d9d027156bdbd72937bdef9ac8ea4d9e2e206c8d7f5383b |
File details
Details for the file youtubepy-6.0.2-py3-none-any.whl
.
File metadata
- Download URL: youtubepy-6.0.2-py3-none-any.whl
- Upload date:
- Size: 9.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d4bb1201227ac45f470ba1c65fde776f7397d55cf28d967211f144b93f08b5f |
|
MD5 | 06c3bab178cc1dc458a77e874441b4c9 |
|
BLAKE2b-256 | dbb7e2cbc117ce135ba426bc3c5b6ee0cebe8d0b950460661238e5f1762e7679 |