A Python package for searching and retrieving YouTube data using py-yt-search.
Project description
YouTube Data Extraction with py-yt-search
Features
- Search YouTube for videos, channels, and playlists
- Retrieve video information and available formats
- Extract comments from videos
- Get video transcripts in different languages
- Fetch search suggestions from YouTube
- Retrieve details of YouTube channels and their playlists
Installation
Make sure you have Python installed (>=3.8). Install py-yt-search using:
pip install git+https://github.com/AshokShau/py-yt-search@master
pip install py-yt-search
Usage
The script uses asyncio to execute YouTube queries asynchronously. Below is an overview of the main functions:
Search YouTube
_search = Search('NoCopyrightSounds', limit=1, language='en', region='US')
result = await _search.next()
print(result)
Search for Videos Only
videosSearch = VideosSearch('NoCopyrightSounds', limit=10, language='en', region='US')
videosResult = await videosSearch.next()
print(videosResult)
Search for Channels Only
channelsSearch = ChannelsSearch('NoCopyrightSounds', limit=1, language='en', region='US')
channelsResult = await channelsSearch.next()
print(channelsResult)
Search for Playlists Only
playlistsSearch = PlaylistsSearch('NoCopyrightSounds', limit=1, language='en', region='US')
playlistsResult = await playlistsSearch.next()
print(playlistsResult)
Get Video Details
video = await Video.get('z0GKGpObgPY')
print(video)
Get Playlist Details
playlist = await Playlist.get('https://www.youtube.com/playlist?list=PLRBp0Fe2GpgmsW46rJyudVFlY6IYjFBIK')
print(playlist)
Fetch Comments from a Video
comments = Comments('_ZdsmLgCVdU')
await comments.getNextComments()
print(len(comments.comments['result']))
Retrieve Video Transcript
transcript = await Transcript.get('https://www.youtube.com/watch?v=L7kF4MXXCoA')
print(transcript)
Get YouTube Search Suggestions
suggestions = await Suggestions.get('NoCopyrightSounds', language='en', region='US')
print(suggestions)
Running the Script
To run the script, execute:
python script.py
Ensure asyncio.run(main()) is at the end of the script to handle async execution.
Notes
- The script uses
asynciofor efficient asynchronous operations. - Some operations may require multiple calls to retrieve all available data (e.g., pagination for comments and playlists).
py-yt-searchprovides various search filters to refine results, such as sorting by upload date or filtering by duration.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Credits
This project is based on youtube-search-python by Alex Mercer.
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
py_yt_search-0.5.1.tar.gz
(35.2 kB
view details)
File details
Details for the file py_yt_search-0.5.1.tar.gz.
File metadata
- Download URL: py_yt_search-0.5.1.tar.gz
- Upload date:
- Size: 35.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f31f7cfaf2402e30c11f8af70db7d80f915cc849ad58fa8f06c7988ff4e9233
|
|
| MD5 |
0aed064c56f27cb2c72b3c4f4f8c57cf
|
|
| BLAKE2b-256 |
76f1543853de9682b45aaf4bab39ea4d1e9413fce1d02f9e9f7b81610df2bf18
|