ile birden fazla kanal son yüklemeleri almak için UC6nrst90rsd3Z5t-N3Ra3-HC', 'UC6nSFpjd329th0rt-tuTH3-HA']En etkili yolu kimlikleri gibi kanalın bir listesini kullanarak YouTube API v3
Ben olduğunca az http isteklerini ve olduğunca az zaman kullanarak, YouTube Veri API v3 kullanarak tüm bu kanallar için son 50 video yüklemelerine almak istiyorum mümkün.
Şu anda bunu yapıyorum yoludur: Çalışır ancak sunucu aramaları bir çok kullanır ve tam olarak hızlı değildir
from apiclient.discovery import build
youtube = build('youtube', 'v3', developerKey=key)
channel_ids = ['UC6nSFpj9HTCZ5t-N3Ra3-HB', 'UC6nSFpjSEBUCZ5t-N3Ra3-HB', 'UC6nrst90rsd3Z5t-N3Ra3-HC', 'UC6nSFpjd329th0rt-tuTH3-HA']
videos_by_channel = {}
for channel_id in channel_ids:
search_response = youtube.search().list(part="id",
type='video',
order='date',
channelId=channel_id,
maxResults=50).execute()
videoIds = []
for search_result in search_response.get("items", []):
if search_result["id"]["kind"] == "youtube#video":
videoIds.append(search_result['id']['videoId'])
search_response = youtube.videos().list(
id=",".join(videoIds),
part="id,snippet"
).execute()
videos_by_channel[channel_id] = search_response
. Belgeleri okudum ama daha hızlı bir yöntem, herhangi bir fikir bulamıyorum?
ile birden istek gönderebilirsiniz? Bağlantınız Bulut Depolama API'sinin bir parçası olduğu için. – Als
Evet, öyle. Kolayca toplu istek oluşturmak için apiclient.http.BatchHttpRequest kullanabilirsiniz. – hoozecn