【问题标题】:I want to get all nextPageTokens in python youtube data api我想在 python youtube data api 中获取所有 nextPageTokens
【发布时间】:2015-05-12 05:44:44
【问题描述】:

我正在尝试在 youtube 数据 api 中获取 nextPageToken 下面是我的代码,我想得到所有nextpageTokens。 在循环中,我想重新分配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") 

【问题讨论】:

    标签: python youtube logic


    【解决方案1】:

    假设您在最后一页时不会返回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")
    

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

    【讨论】:

      猜你喜欢
      • 2018-07-05
      • 2021-05-07
      • 1970-01-01
      • 2014-04-10
      • 2021-03-13
      • 2019-07-27
      • 2018-07-22
      • 1970-01-01
      • 2014-07-03
      相关资源
      最近更新 更多