separated Class File and example usage code
This commit is contained in:
parent
4bf3432f2d
commit
69dd73dc96
@ -1,60 +0,0 @@
|
||||
import requests
|
||||
|
||||
|
||||
class API:
|
||||
def __init__(self, youtube_api_key, channel_id):
|
||||
self.api_key = youtube_api_key
|
||||
self.channel_id = channel_id
|
||||
|
||||
def is_not_used(self):
|
||||
pass
|
||||
|
||||
def get_video_items(self):
|
||||
request = 'https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=' + \
|
||||
self.channel_id + '&maxResults=10&order=date&type=video&key=' + \
|
||||
self.api_key
|
||||
|
||||
return requests.get(request).json()
|
||||
|
||||
def get_newest_video(self, items_json):
|
||||
self.is_not_used()
|
||||
return items_json['items'][0]
|
||||
|
||||
def get_url(self, video_json):
|
||||
self.is_not_used()
|
||||
return video_json['id']['videoId']
|
||||
|
||||
def get_title(self, video_json):
|
||||
self.is_not_used()
|
||||
return video_json['snippet']['title']
|
||||
|
||||
def start_find_video_process(self):
|
||||
self.is_not_used()
|
||||
video_items_json = var.get_video_items()
|
||||
new_video_json = var.get_newest_video(video_items_json)
|
||||
|
||||
video_url_snippet = var.get_url(new_video_json)
|
||||
video_url = 'https://www.youtube.com/watch?v=' + video_url_snippet
|
||||
|
||||
video_title = var.get_title(new_video_json)
|
||||
|
||||
return video_title, video_url
|
||||
|
||||
|
||||
# Add your Youtube Data API V3 Key here
|
||||
API_KEY = ''
|
||||
|
||||
# Add the Channel IDs here
|
||||
# When you only know the channel name you can get the ID from here https://commentpicker.com/youtube-channel-id.php
|
||||
CHANNEL_ID = [
|
||||
'ID1',
|
||||
'ID2'
|
||||
]
|
||||
|
||||
videos = []
|
||||
|
||||
for item in CHANNEL_ID:
|
||||
var = API(API_KEY, item)
|
||||
videos.append(var.start_find_video_process())
|
||||
|
||||
print(videos)
|
40
GetLatestVideo.py
Normal file
40
GetLatestVideo.py
Normal file
@ -0,0 +1,40 @@
|
||||
import requests
|
||||
|
||||
|
||||
class API:
|
||||
def __init__(self, youtube_api_key):
|
||||
self.api_key = youtube_api_key
|
||||
|
||||
def get_video_items(self, channel_id):
|
||||
try:
|
||||
request = 'https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=' + \
|
||||
channel_id + '&maxResults=10&order=date&type=video&key=' + \
|
||||
self.api_key
|
||||
|
||||
return requests.get(request).json()
|
||||
|
||||
except Exception as error:
|
||||
print(error)
|
||||
|
||||
@staticmethod
|
||||
def get_newest_video(items_json):
|
||||
return items_json['items'][0]
|
||||
|
||||
@staticmethod
|
||||
def get_url(video_json):
|
||||
return video_json['id']['videoId']
|
||||
|
||||
@staticmethod
|
||||
def get_title(video_json):
|
||||
return video_json['snippet']['title']
|
||||
|
||||
def get_latest_video(self, channel_id):
|
||||
video_items_json = self.get_video_items(channel_id)
|
||||
new_video_json = self.get_newest_video(video_items_json)
|
||||
|
||||
video_url_snippet = self.get_url(new_video_json)
|
||||
video_url = 'https://www.youtube.com/watch?v=' + video_url_snippet
|
||||
|
||||
video_title = self.get_title(new_video_json)
|
||||
|
||||
return video_title, video_url
|
20
main.py
Normal file
20
main.py
Normal file
@ -0,0 +1,20 @@
|
||||
from GetLatestVideo import API
|
||||
|
||||
# Add your Youtube Data API V3 Key here
|
||||
API_KEY = ''
|
||||
|
||||
# Add the Channel IDs here
|
||||
# When you only know the channel name you can get the ID from here https://commentpicker.com/youtube-channel-id.php
|
||||
CHANNEL_ID = [
|
||||
'ID1',
|
||||
'ID2'
|
||||
]
|
||||
|
||||
videos = []
|
||||
|
||||
yt = API(API_KEY)
|
||||
|
||||
for channel in CHANNEL_ID:
|
||||
videos.append(yt.get_latest_video(channel))
|
||||
|
||||
print(videos)
|
Loading…
Reference in New Issue
Block a user