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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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

Hashes for youtubepy-6.0.2.tar.gz
Algorithm Hash digest
SHA256 20cfa29001247cf381970bc3ab1cf5ad9fbafa0ebddc24cd4cb0e3f1356c7593
MD5 df4e5945a18508440f281ff3abc443ca
BLAKE2b-256 1bae6ac202d593845d9d027156bdbd72937bdef9ac8ea4d9e2e206c8d7f5383b

See more details on using hashes here.

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

Hashes for youtubepy-6.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6d4bb1201227ac45f470ba1c65fde776f7397d55cf28d967211f144b93f08b5f
MD5 06c3bab178cc1dc458a77e874441b4c9
BLAKE2b-256 dbb7e2cbc117ce135ba426bc3c5b6ee0cebe8d0b950460661238e5f1762e7679

See more details on using hashes here.

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