【发布时间】:2022-01-18 15:45:19
【问题描述】:
我有一个视频 ID 列表作为 youtube 的不同视频的字符串,但是当我获取所有视频 ID 的数据时,我只得到最后一个视频的结果。
这是我的代码:
search_url = 'https://www.googleapis.com/youtube/v3/videos'
parameter = {
'key' : settings.YOUTUBE_DATA_API_KEY,
'part' : 'snippet',
'id' : ','.join(video_id)
}
data = requests.get(search_url,params=parameter)
results = data.json()['items']
在上述代码中,video_id 是一个包含视频 ID 的列表。
我得到一个包含 youtube 视频 url 的 csv 文件,我从中获取视频 id 并将它们附加到 video_id 列表中:
rows = []
video_id = []
file = request.FILES["file"].readlines()
for f in file:
rows.append((f.decode('utf-8')))
for row in rows[0:len(rows)-1]:
video_id.append((row[-13:]))
video_id.append((rows[len(rows)-1][-11:]))
完整的代码是:
def home(request):
if request.method == 'POST':
rows = []
video_id = []
file = request.FILES["file"].readlines()
for f in file:
rows.append((f.decode('utf-8')))
for row in rows[0:len(rows)-1]:
video_id.append((row[-13:]))
video_id.append((rows[len(rows)-1][-11:]))
print(len(video_id))
for v in video_id:
print(v)
search_url = 'https://www.googleapis.com/youtube/v3/videos'
parameter = {
'key' : settings.YOUTUBE_DATA_API_KEY,
'part' : 'snippet',
'id' : ','.join(video_id)
}
data = requests.get(search_url,params=parameter)
results = data.json()['items']
channel_list = []
for result in results:
data = {
'channel_name' : result['snippet']['channelTitle']
}
channel_list.append(data)
for list in channel_list:
print(list)
return HttpResponse("Uploaded successfully")
return render(request,'index.html')
【问题讨论】:
-
您能否与我们分享一些您无法使用 YouTube 数据 API 检索任何信息的视频 ID?
-
这些是 video_id 列表中存在的 5 个视频 id——HpszyPglBtQ、SMoTOxgMLPg、DxAsqinkmyE、t1DzCEaddAY、BAtXEGANEXY,只有最后一个 id 的结果正在显示。
标签: python django youtube-data-api