This is a youtube data api v3 wrapper which can be integrated into any python app basically in the web app which recommends youtube videos.
- Get the youtube data v3 api key from https://console.developers.google.com/apis/
- Set environment variable API_KEY='Your YoutubeDatav3 API key'
- for stable version
- pip install pyytdata
- for developement
- git clone https://github.com/Agent-Hellboy/YouTubeDataApi_Wrapper/
- cd YouTubeDataApi_Wrapper
- virtualenv venv
- source venv/bin/activate
- pip install -r requirements.txt
from pyytdata.pyytdata import PyYtData
>>> obj=PyYtData('flask',1)
>>> vid=obj.get_videoinfo()
>>> vid
[<util.vidinfo.VidInfo object at 0x7ff971539e10>]
You can fire dir on this object to get the attribute and method of the object.
>>> dir(vid[0])
['_Info__API_KEY', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_id', 'channel_info', 'get_description', 'get_image_url', 'get_link', 'get_publishedtime', 'get_title', 'keyword', 'maxlen', 'open_id', 'order', 'result', 'type', 'youtube']
To get the description of the video
>>> vid[0].get_description()
'Flask is a micro web framework written in Python. It is classified as a microframework because it does not require particular tools or libraries. Learn how to use it ...'
To get the title of the video.
>>> vid[0].get_title()
'Learn Flask for Python - Full Tutorial'
To get the link for the video which can we used in web app to open the link for the video.
>>> vid[0].get_link()
'https://www.youtube.com/watch?v=Z1RJmh_OqeA'
To get the title img of the video which can be rendered through HTML tag.
>>> vid[0].get_image_url()
'https://i.ytimg.com/vi/Z1RJmh_OqeA/mqdefault.jpg'
To get the chnlInfo object having methods which describes a channel.
>>> chnl=vid[0].channel_info()
To get the number of view cnt on this channel
>>> dir(chnl)
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'id', 'result', 'total_subscriber', 'total_video', 'total_viewcnt', 'youtube']
To get the total view count of the channel.
>>> chnl.total_viewcnt()
'95246354'
To get the number of subscribers of the channel.
>>> chnl.total_subscriber()
'2170000'
To get number of video uploaded by this particular channel.
>>> chnl.total_video()
'1133'
Under Developement Please have a look at the Issue
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.