youtube_playlist
# see : https://console.cloud.google.com/apis/credentials
import googleapiclient.discovery
import json
channel_id = "************"
api_key = "*******"
youtube = googleapiclient.discovery.build("youtube", "v3", developerKey = "AIzaSyBRYFmzq1rlEwAp5P8VdpQmnJmZC5h9gRE")
def getItemsByKey(playlist_id):
request = youtube.playlistItems().list(
part="snippet",
playlistId=playlist_id
)
results = request.execute()
entries = []
for result in results['items']:
entries.append({
'title': result['snippet']['title'],
'videoId': result['snippet']['resourceId']['videoId']
})
return entries
request = youtube.playlists().list(
part = "snippet",
channelId = channel_id,
maxResults = 50
)
response = request.execute()
playlists_count = 0
playlists = []
while request is not None:
response = request.execute()
for item in response['items']:
print("Playlist : ", item['snippet']['localized']['title'])
playlist = {
'id': item['id'],
'title': item['snippet']['localized']['title'],
'items': getItemsByKey(item['id'])
}
playlists.append(playlist)
playlists_count += 1
request = youtube.playlists().list_next(request, response)
with open("my_playlists.json", "w") as write_file:
json.dump(playlists, write_file, indent=4)
print("Count : ", playlists_count)
youtube_playlist.txt · Last modified: by ssm2017
