im beginner and I just create my pagination loop for YouTube Data Api search list that return me 100 YouTube search results but when it need to be converted into the Pandas data frame it using only the last part of returned data.
For example if my max results will be 40 (not 50) it will return me only the 30 lines.
Please, how can I fix data storing in my var's?
#import from google.colab import authauth.authenticate_user()import gspreadfrom google.auth import defaultcreds, _ = default()gc = gspread.authorize(creds)!pip install google-api-python-clientfrom googleapiclient.discovery import buildimport pandas as pdimport seaborn as sbimport csvimport reimport requestsimport numpy as np from google.colab import data_tabledata_table.enable_dataframe_formatter()from google.colab import drive
api_key = "***"from googleapiclient.discovery import buildfrom pprint import PrettyPrinterfrom google.colab import filesyoutube = build('youtube','v3',developerKey = api_key)#print(type(youtube))pp = PrettyPrinter()nextPageToken = ''for x in range(2): request = youtube.search().list( q = query, part='id', maxResults=50, order="date",# publishedAfter='2022-05-09T00:00:00.000Z',# publishedBefore='2022-07-09T00:00:00.000Z', pageToken=nextPageToken, type='video') print(type(request)) res = request.execute() pp.pprint(res) if 'nextPageToken' in res: nextPageToken = res['nextPageToken']
ids = [item['id']['videoId'] for item in res['items']]results = youtube.videos().list(id=ids, part='snippet').execute()for result in results.get('items', []): print(result ['id']) print(result ['snippet']['channelTitle']) print(result ['snippet']['title']) print(result ['snippet']['description'])