我们需要一个频道名为YouTube的视频列表(使用接口)。
我们可以通过以下接口获取频道列表(只有频道名称):
https://gdata.youtube.com/feeds/api/channels?v=2&q=tendulkar
下面是渠道的直接链接
https://www.youtube.com/channel/UCqAEtEr0A0Eo2IVcuWBfB9g
或
WWW.YouTube.com/channel/HC-8jgBP-4rlI
现在,我们需要>> UCqAEtEr0A0Eo2IVcuWBfB9g频道或HC-8jgBP-4rlI频道的视频。
我们试过了
https://gdata.youtube.com/feeds/api/videos?v=2&uploader=partner&User=UC7Xayrf2k0NZiz3S04WuDNQ https://gdata.youtube.com/feeds/api/videos?v=2&uploader=partner&q=UC7Xayrf2k0NZiz3S04WuDNQ
但是,这并没有帮助。
我们需要所有发布在频道上的视频。上传到一个频道的视频可能来自多个用户,因此我不认为提供用户参数会有帮助……
发布于 2013-12-27 14:00:01
您需要查看YouTube Data API。您可以在那里找到有关如何访问API的文档。您还可以找到client libraries。
您也可以自己提出请求。以下是一个从频道检索最新视频的示例URL:
https://www.googleapis.com/youtube/v3/search?key={your_key_here}&channelId={channel_id_here}&part=snippet,id&order=date&maxResults=20
之后,您将收到一个包含视频ids和详细信息的JSON
,您可以这样构建您的视频地址:
http://www.youtube.com/watch?v={video_id_here}
发布于 2015-01-10 10:27:02
首先,您需要从用户/频道获取代表上传内容的播放列表的ID:
https://developers.google.com/youtube/v3/docs/channels/list#try-it
您可以使用forUsername={username}
参数指定用户名,或者指定mine=true
来获取您自己的用户名(您需要先进行身份验证)。包含part=contentDetails
以查看播放列表。
GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername=jambrose42&key={YOUR_API_KEY}
在结果中,"relatedPlaylists"
将包含"likes"
和"uploads"
播放列表。获取"upload"
播放列表ID。还要注意,"id"
是您的channelID,以备将来参考。
接下来,获取该播放列表中的视频列表:
https://developers.google.com/youtube/v3/docs/playlistItems/list#try-it
只需在playlistId中使用!
GET https://www.googleapis.com/youtube/v3/playlistItems?part=snippet%2CcontentDetails&maxResults=50&playlistId=UUpRmvjdu3ixew5ahydZ67uA&key={YOUR_API_KEY}
发布于 2017-11-15 00:32:08
下面是一个不需要任何特殊包的Python替代方案。通过提供频道id,它返回该频道的视频链接列表。请注意,您需要一个API Key才能使其工作。
import urllib
import json
def get_all_video_in_channel(channel_id):
api_key = YOUR API KEY
base_video_url = 'https://www.youtube.com/watch?v='
base_search_url = 'https://www.googleapis.com/youtube/v3/search?'
first_url = base_search_url+'key={}&channelId={}&part=snippet,id&order=date&maxResults=25'.format(api_key, channel_id)
video_links = []
url = first_url
while True:
inp = urllib.urlopen(url)
resp = json.load(inp)
for i in resp['items']:
if i['id']['kind'] == "youtube#video":
video_links.append(base_video_url + i['id']['videoId'])
try:
next_page_token = resp['nextPageToken']
url = first_url + '&pageToken={}'.format(next_page_token)
except:
break
return video_links
https://stackoverflow.com/questions/18953499
复制相似问题