Как получить больше результатов в результатах поиска YouTube с помощью API YouTube? - PullRequest
0 голосов
/ 24 октября 2018

Я использую youtube-v3-api для получения списка поиска, используя "nextPageToken", я могу получить только около 500 результатов, но информация страницы показала, что она содержит более 200000 результатов, как получить больше?

def Search(sKeyWord):
"""Input search keyword, return search link list of youtube
Args:
    Input:
        sKeyWord: Search keyword
    Output:
        lVideos: A list of searched videos
"""
# gdr = googleapiclient.discovery.Resource
iMax = 50
gdrYoutube = build(
    YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,
    developerKey=DEVELOPER_KEY)

sPageToken = ""
lVideos = []
dictResponse = gdrYoutube.search().list(
    q=sKeyWord,
    part='id,snippet',
    maxResults=iMax,
    pageToken=sPageToken
    ).execute()

while(dictResponse.get("nextPageToken")):
    sPageToken = dictResponse["nextPageToken"]
    for dictSearchResult in dictResponse.get('items', []):
        if dictSearchResult['id']['kind'] == 'youtube#video':
            """
            lVideos.append(
                '%s (%s)' % (
                    dictSearchResult['snippet']['title'],
                    dictSearchResult['id']['videoId']))
            """
            lVideos.append(dictSearchResult['id']['videoId'])
    dictResponse = gdrYoutube.search().list(
        q=sKeyWord,
        part='id,snippet',
        maxResults=iMax,
        pageToken=sPageToken
        ).execute()

return lVideos
...