Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

youtubepy-6.0.2.tar.gz (10.6 kB view hashes)

Uploaded Source

Built Distribution

youtubepy-6.0.2-py3-none-any.whl (9.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page