Skip to main content
 首页 » 编程设计

python之我想在 python youtube 数据 api 中获取所有 nextPageTokens

2025年05月04日67xing901022

我正在尝试在 youtube 数据 api 中获取 nextPageToken 下面是我的代码,我想获取所有的 nextpageToken。 在循环中,我想重新分配 nextPageToken

def get_next_videos():                                                                                                                                         
  while True:                                                                                                                                                  
    r = requests.get("https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=50&channelId="+CHANNELID+"&order=date&key="+DEVELOPER_KEY)          
    json_data = r.json()                                                                                                                                       
    nextPageToken = json_data.get("nextPageToken")                                                                                                             
 
    second_r = requests.get("https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=50&channelId="+CHANNELID+"&order=date&key="+DEVELOPER_KEY+"\ 
&pageToken="+nextPageToken)                                                                                                                                    
    json_data = second_r.json()                                                                                                                                
    nextPageToken = json_data.get("nextPageToken")                                                                                                             
 
    third_r = requests.get("https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=50&channelId="+CHANNELID+"&order=date&key="+DEVELOPER_KEY+"&\ 
pageToken="+nextPageToken)                                                                                                                                     
    json_data = third_r.json()                                                                                                                                 
    nextPageToken = json_data.get("nextPageToken")                                                                                                             
 
    fourth_r = requests.get("https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=50&channelId="+CHANNELID+"&order=date&key="+DEVELOPER_KEY+"\ 
&pageToken="+nextPageToken)                                                                                                                                    
    json_data = third_r.json()                                                                                                                                 
    nextPageToken = json_data.get("nextPageToken")  

请您参考如下方法:

假设 nextPageToken 不会在您到达最后一页时返回,那么您可以这样做:

# First request 
r = requests.get("https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=50&channelId="+CHANNELID+"&order=date&key="+DEVELOPER_KEY) 
json_data = r.json()                                                                                                 
nextPageToken = json_data.get("nextPageToken") 
 
# Retrieve all the rest of the pages 
while nextPageToken: 
    r = requests.get("https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=50&channelId="+CHANNELID+"&order=date&key="+DEVELOPER_KEY+"&pageToken="+nextPageToken) 
    json_data = r.json() 
    nextPageToken = json_data.get("nextPageToken") 

当然,在循环内部,您可能还希望在某些适当的数据结构(列表、字典等)中收集您正在检索的数据。