Guest User

Untitled

a guest
Jun 26th, 2020
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.72 KB | None | 0 0
  1. import os
  2. import requests
  3. from dotenv import load_dotenv
  4.  
  5. def get_uploads_id(channel_id, token):
  6.     url = "https://www.googleapis.com/youtube/v3/channels?part=contentDetails&id=" + channel_id + "&key=" + token
  7.  
  8.     # Here we get the id of the "uploads" playlist, which is a playlist like the others    
  9.     r = requests.get(url)
  10.     json = r.json()
  11.     return json['items'][0]['contentDetails']['relatedPlaylists']['uploads']
  12.  
  13. def get_videos_ids(uploads_id, token, nextPage):
  14.     url = ""
  15.    
  16.     if nextPage == "":
  17.         url = "https://www.googleapis.com/youtube/v3/playlistItems?part=contentDetails&maxResults=50&playlistId=" + uploads_id + "&key=" + token
  18.     else:
  19.         url = "https://www.googleapis.com/youtube/v3/playlistItems?part=contentDetails&maxResults=50&playlistId=" + uploads_id + "&pageToken=" + nextPage  + "&key=" + token
  20.  
  21.     r = requests.get(url)
  22.     json = r.json()
  23.    
  24.     video_ids = []
  25.  
  26.     for el in json["items"]:
  27.         vid = el["contentDetails"]["videoId"]
  28.         video_ids.append(vid)
  29.  
  30.     if "nextPageToken" in json:
  31.         return video_ids + get_videos_ids(uploads_id, token, json["nextPageToken"])
  32.     else:
  33.         return video_ids
  34.  
  35. def main():
  36.     # We load the environment. You need a .env with API_KEY=yourAPIKeyForYoutube and CHANNEL_ID=theChannelID
  37.     load_dotenv()
  38.     token = os.environ.get("API_KEY")
  39.     channel_id = os.environ.get("CHANNEL_ID")
  40.  
  41.     uploads_id = get_uploads_id(channel_id, token)
  42.    
  43.     video_ids = get_videos_ids(uploads_id, token, "")
  44.    
  45.     with open("ids.txt", "w") as file:
  46.         for v_id in video_ids:
  47.             file.write(v_id)
  48.             file.write("\n")
  49.    
  50.     print(len(video_ids))
  51.  
  52. if __name__ == "__main__":
  53.     main()
Add Comment
Please, Sign In to add comment