ytpy
Python wrapper to extract youtube data. Simple asynchronous wrapper to get youtube video or playlist data. The purpose of this project is to make it easier for developers to extract data from YouTube.
Requirements
- Python 3.x
- Get Google API' Credential 'API KEY' for
YoutubeDataApiV3Client
only
Dependencies
- urllib
- aiohttp
Install
pip install --upgrade ytpy
Usage
from ytpy import YoutubeClient
import asyncio
import aiohttp
async def main(loop):
session = aiohttp.ClientSession()
client = YoutubeClient(session)
response = await client.search('ringtone')
print(response)
await session.close()
loop = asyncio.get_event_loop()
loop.run_until_complete(main(loop))
Keywords
using YoutubeDataApiV3Client
Search Video by https://developers.google.com/youtube/v3/docs/search
params:
q
, string. Search key. default: empty string.part
, string. Valid parts: snippet, contentDetails, player, statistics, status. default: snippet.type
, string. Valid types: video, playlist, channel.
Example Search
method
import os
import asyncio
import aiohttp
from ytpy import YoutubeDataApiV3Client
async def main(loop):
session = aiohttp.ClientSession()
# Pass the aiohttp client session
ayt = YoutubeDataApiV3Client(session, dev_key=os.environ["DEVELOPER_KEY"])
# test search
results = await ayt.search(q="d&e lost",
search_type="video",
max_results=1)
print(results)
await session.close()
loop = asyncio.get_event_loop()
loop.run_until_complete(main(loop))
loop.close()
Examples
Check examples for the full code example
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests/examples as appropriate.