youtube api не возвращает все элементы списка воспроизведения - PullRequest
0 голосов
/ 09 июля 2020
import re
import requests
def get_videos(url):
    found = []
    playlist_id = re.search('list=([\w\-]+)', url).groups()[0]
    u = f'https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId={playlist_id}&key={google_api}&maxResults=10'
    url = u
    while True:
        print(url)
        res = requests.get(url).json()
        for i in res['items']:
            youtube_video_link = 'https://www.youtube.com/watch?v=' + i['snippet']['resourceId']['videoId']
            found.append(youtube_video_link)
        if "nextPageToken" in res.keys():
            url = u + f"&pageToken={res['nextPageToken']}"
        else:
            break
    return found


url = 'https://www.youtube.com/playlist?list=RDCLAK5uy_k27uu-EtQ_b5U2r26DNDZOmNqGdccUIGQ' # has 50
x = get_videos(url)
print(len(x))

Я получаю 26 элементов, тогда как должно быть 50, я что-то делаю неправильно или API не позволяет мне получить больше

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...