#by.ozgundeniz
import requests
key = "YOUTUBE_DATA_API_KEY"
id_url = "https://www.googleapis.com/youtube/v3/search"
upload_url = "https://www.googleapis.com/youtube/v3/channels"
playlist_url = "https://www.googleapis.com/youtube/v3/playlistItems?part=snippet%2CcontentDetails"
youtube_channel = input("Channel: @")
page_token = None
print(id_url)
q = f"@{youtube_channel}"
params = {
"part": "id",
"type": "channel",
"q": f"{q}",
"key": f"{key}",
}
response = requests.get(id_url, params=params).json()
channel_id = response["items"][0]["id"]["channelId"]
params = {
"part": "contentDetails",
"id": f"{channel_id}",
"key": f"{key}"
}
response = requests.get(upload_url, params=params).json()
uploads_id = response["items"][0]["contentDetails"]["relatedPlaylists"]["uploads"]
while True:
params = {
"maxResults": 10000,
"playlistId": f"{uploads_id}",
"key": f"{key}",
"pageToken": page_token
}
response = requests.get(
playlist_url, params=params).json()
try:
page_token = response["nextPageToken"]
except:
page_token = None
print(page_token)
if not page_token:
break
lastId = response["items"][len(
response["items"]) - 1]["contentDetails"]["videoId"]
video = f"https://www.youtube.com/watch?v={lastId}"
print(video)
İlk videoya gitmek için fazla abartılı gibi geldi hocam, API key falan istiyor bir de hiç bu zahmete girilmez bence.Python:#by.ozgundeniz import requests key = "YOUTUBE_DATA_API_KEY" id_url = "https://www.googleapis.com/youtube/v3/search" upload_url = "https://www.googleapis.com/youtube/v3/channels" playlist_url = "https://www.googleapis.com/youtube/v3/playlistItems?part=snippet%2CcontentDetails" youtube_channel = input("Channel: @") page_token = None print(id_url) q = f"@{youtube_channel}" params = { "part": "id", "type": "channel", "q": f"{q}", "key": f"{key}", } response = requests.get(id_url, params=params).json() channel_id = response["items"][0]["id"]["channelId"] params = { "part": "contentDetails", "id": f"{channel_id}", "key": f"{key}" } response = requests.get(upload_url, params=params).json() uploads_id = response["items"][0]["contentDetails"]["relatedPlaylists"]["uploads"] while True: params = { "maxResults": 10000, "playlistId": f"{uploads_id}", "key": f"{key}", "pageToken": page_token } response = requests.get( playlist_url, params=params).json() try: page_token = response["nextPageToken"] except: page_token = None print(page_token) if not page_token: break lastId = response["items"][len( response["items"]) - 1]["contentDetails"]["videoId"] video = f"https://www.youtube.com/watch?v={lastId}" print(video)
Sadece ilk videoya gitmiyorum?İlk videoya gitmek için fazla abartılı gibi geldi hocam, API key falan istiyor bir de hiç bu zahmete girilmez bence.
Bence bir geliştirici çıksa ve internet sitesi kurup böyle bir hizmet verse insanlara büyük fayda sağlar. Çünkü YouTube'da bu özellik yok. Kanal ismi girilir, en eski videolardan yeni videolara doğru sıralanır.İlk videoya gitmek için fazla abartılı gibi geldi hocam, API key falan istiyor bir de hiç bu zahmete girilmez bence.
Social Blade ile bakabilirsiniz diye biliyorum.
Tüm Youtube'un eksiklerini tek bir sitede sıralasalar güzel olur bence. Mesela dislike sayısını göstersinler, eski videoları göstersinler, videoyu direkt indirebilelim vs. Gayet yapılabilir bir proje aslında, aramızda zamanı bol yazılımcı arkadaş varsa deneyebilirBence bir geliştirici çıksa ve internet sitesi kurup böyle bir hizmet verse insanlara büyük fayda sağlar. Çünkü YouTube'da bu özellik yok. Kanal ismi girilir, en eski videolardan yeni videolara doğru sıralanır.
Aslında ben yapardım ama bu ay makinenin süresi doluyor. Yapsam da geçici kullanılacak, sonra bitecek. Belki sitesine bu özelliği eklemek isteyen olur.Tüm Youtube'un eksiklerini tek bir sitede sıralasalar güzel olur bence. Mesela dislike sayısını göstersinler, eski videoları göstersinler, videoyu direkt indirebilelim vs. Gayet yapılabilir bir proje aslında, aramızda zamanı bol yazılımcı arkadaş varsa deneyebilir.
Ne kadar optimize olursa olsun yavaş çalışacak. Çünkü YouTube bununla ilgili bir destek sunmadığı için uploads playlistinden tek tek sayfalarca video çekiyoruz. Örneğin Technopat için yaklaşık 80 tane request attım.Bence bir geliştirici çıksa ve internet sitesi kurup böyle bir hizmet verse insanlara büyük fayda sağlar. Çünkü YouTube'da bu özellik yok. Kanal ismi girilir, en eski videolardan yeni videolara doğru sıralanır.
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.