获取YouTube频道中所有视频的VIDEO URL

时间:2019-02-27 09:03:03

标签: python python-3.x youtube-api youtube-data-api

我正在尝试获取特定youtube频道的所有视频url或id。youtube数据API不再支持它。 https://developers.google.com/youtube/v3/docs/channels#invideoPromotion 引用此链接后,便知道它已被取消引用。我们将为您提供帮助。

1 个答案:

答案 0 :(得分:0)

首先,您需要从频道的json对象获取属性'contentDetails.relatedPlaylists.uploads',其中包含播放列表ID和所有频道的视频:https://developers.google.com/youtube/v3/docs/channels#contentDetails.relatedPlaylists.uploads

接下来,您必须调用具有上载ID和您想要的其他任何选项的方法“ playlistItems()。list(your_options).execute()”:https://developers.google.com/youtube/v3/docs/playlistItems/list

例如,在这里,我们获得了所有上传的视频的播放列表ID:

channel = YOUR_YOUTUBE_KEY.channels().list(id=your_channel_id, part="contentOwnerDetails", maxResults=1).execute()
uploadsID = channel[0]["contentDetails"]["relatedPlaylists"]["uploads"]

以及50个上传视频的列表:

videosList = YOUR_YOUTUBE_KEY.playlistItems().list(part='snippet', playlistId=uploadsID, maxResults=50).execute()

请记住以下事实:maxResults选项的最大值为50,因此您必须构建周期并从videosList [“ nextPageToken”]获取下一页令牌,才能使用“ pageToken”选项发送下一个请求,该请求将使您获得接下来的50个视频(在videosList [“ nextPageToken”] ==“”时必须停止循环)