Kami membutuhkan daftar video berdasarkan nama saluran YouTube (menggunakan API).
Kami bisa mendapatkan daftar saluran (hanya nama saluran) dengan menggunakan API di bawah ini:
https://gdata.youtube.com/feeds/api/channels?v=2&q=tendulkar
Di bawah ini adalah tautan langsung saluran
https://www.youtube.com/channel/UCqAEtEr0A0Eo2IVcuWBfB9g
Atau
WWW.YouTube.com/channel/HC-8jgBP-4rlI
Sekarang, kita membutuhkan video saluran >> UCqAEtEr0A0Eo2IVcuWBfB9g atau HC-8jgBP-4rlI.
Kami sudah mencoba
https://gdata.youtube.com/feeds/api/videos?v=2&uploader=partner&User=UC7Xayrf2k0NZiz3S04WuDNQ https://gdata.youtube.com/feeds/api/videos?v=2&uploader=partner&q=UC7Xayrf200Z0Z0Q0
Tapi, itu tidak membantu.
Kami membutuhkan semua video yang diposting di saluran. Video yang diunggah ke saluran dapat dari beberapa pengguna sehingga saya tidak berpikir memberikan parameter pengguna akan membantu ...
youtube
youtube-api
Rajendra Dewani
sumber
sumber
Jawaban:
Anda perlu melihat API Data YouTube . Anda akan menemukan dokumentasi di sana tentang bagaimana API dapat diakses. Anda juga dapat menemukan perpustakaan klien .
Anda juga bisa membuat permintaan sendiri. Berikut adalah contoh URL yang mengambil video terbaru dari saluran:
Setelah itu Anda akan menerima
JSON
id dan detail video, dan Anda dapat membuat URL video Anda seperti ini:sumber
maxResults=20
video pertama (hingga 50), tetapi tidak seluruh katalog saluran. Jika Anda ingin hasil lebih banyak, gunakan pageToken seperti yang dijelaskan di sini .Pertama, Anda perlu mendapatkan ID daftar putar yang mewakili unggahan dari pengguna / saluran:
https://developers.google.com/youtube/v3/docs/channels/list#try-it
Anda dapat menentukan nama pengguna dengan
forUsername={username}
param, atau menentukanmine=true
untuk mendapatkan milik Anda sendiri (Anda perlu mengautentikasi terlebih dahulu). Sertakanpart=contentDetails
untuk melihat daftar putar.GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername=jambrose42&key={YOUR_API_KEY}
Dalam hasilnya
"relatedPlaylists"
akan termasuk"likes"
dan"uploads"
daftar putar. Ambil"upload"
ID daftar putar itu. Perhatikan juga apakah"id"
itu channelID Anda untuk referensi di masa mendatang.Selanjutnya, dapatkan daftar video dalam daftar putar itu:
https://developers.google.com/youtube/v3/docs/playlistItems/list#try-it
Cukup masukkan playlistId!
GET https://www.googleapis.com/youtube/v3/playlistItems?part=snippet%2CcontentDetails&maxResults=50&playlistId=UUpRmvjdu3ixew5ahydZ67uA&key={YOUR_API_KEY}
sumber
Berikut adalah video dari Google Developers yang menunjukkan cara membuat daftar semua video dalam saluran di
v3
YouTube API.Ada dua langkah:
Saluran Kueri untuk mendapatkan ID "unggahan". misalnya
https://www.googleapis.com/youtube/v3/channels?id={channel Id}&key={API key}&part=contentDetails
Gunakan Id "unggah" ini untuk menanyakan PlaylistItems untuk mendapatkan daftar video. misalnya
https://www.googleapis.com/youtube/v3/playlistItems?playlistId={"uploads" Id}&key={API key}&part=snippet&maxResults=50
sumber
Untuk mendapatkan daftar saluran:
Dapatkan daftar Saluran oleh forUserName :
https://www.googleapis.com/youtube/v3/channels?part=snippet,contentDetails,statistics&forUsername=Apple&key=
Dapatkan daftar saluran berdasarkan id saluran :
https://www.googleapis.com/youtube/v3/channels/?part=snippet,contentDetails,statistics&id=UCE_M8A5yxnLfW0KghEeajjw&key=
Dapatkan bagian Saluran:
https://www.googleapis.com/youtube/v3/channelSections?part=snippet,contentDetails&channelId=UCE_M8A5yxnLfW0KghEeajjw&key=
Untuk mendapatkan Daftar Putar:
Dapatkan Daftar Putar berdasarkan ID Saluran :
https://www.googleapis.com/youtube/v3/playlists?part=snippet,contentDetails&channelId=UCq-Fj5jknLsUf-MWSy4_brA&maxResults=50&key=
Dapatkan Daftar Putar menurut ID Saluran dengan pageToken :
https://www.googleapis.com/youtube/v3/playlists?part=snippet,contentDetails&channelId=UCq-Fj5jknLsUf-MWSy4_brA&maxResults=50&key= & pageToken = CDIQAA
Untuk mendapatkan PlaylistItems:
Dapatkan daftar PlaylistItems oleh PlayListId :
https://www.googleapis.com/youtube/v3/playlistItems?part=snippet,contentDetails&maxResults=25&playlistId=PLHFlHpPjgk70Yv3kxQvkDEO5n5tMQia5I&key=
Untuk mendapatkan video:
Dapatkan daftar video berdasarkan id video :
https://www.googleapis.com/youtube/v3/videos?part=snippet,contentDetails,statistics&id=YxLCwfA1cLw&key=
Dapatkan daftar video dengan beberapa video id :
https://www.googleapis.com/youtube/v3/videos?part=snippet,contentDetails,statistics&id=YxLCwfA1cLw,Qgy6LaO3SB0,7yPJXGO2Dcw&key=
Dapatkan daftar komentar
Dapatkan daftar Komentar dengan ID video :
https://www.googleapis.com/youtube/v3/commentThreads?part=snippet,replies&videoId=el **** kQak & key = A ********** k
Dapatkan daftar Komentar berdasarkan ID saluran :
https://www.googleapis.com/youtube/v3/commentThreads?part=snippet,replies&channelId=U ***** T & kunci = AI ******** k
Dapatkan daftar Komentar oleh allThreadsRelatedToChannelId :
https://www.googleapis.com/youtube/v3/commentThreads?part=snippet,replies&allThreadsRelatedToChannelId=UC ***** ntcQ & key = AI ***** k
Di sini semua api adalah Dapatkan pendekatan.
Berdasarkan id saluran kami tidak bisa mendapatkan semua video secara langsung, itulah poin penting di sini.
Untuk integrasi https://developers.google.com/youtube/v3/quickstart/ios?ver=swift
sumber
Di bawah ini adalah alternatif Python yang tidak memerlukan paket khusus. Dengan memberikan id saluran, ia mengembalikan daftar tautan video untuk saluran itu. Harap perhatikan bahwa Anda memerlukan Kunci API agar bisa berfungsi.
sumber
video_list = get_all_video_in_channel("ABC123EFG456")
maka Anda dapat mencetaknya untuk melihat array menggunakanprint(video_list)
sumber
Coba dengan seperti berikut ini. Ini dapat membantu Anda.
https://gdata.youtube.com/feeds/api/videos?author=cnn&v=2&orderby=updated&alt=jsonc&q=news
Di sini penulis sebagai Anda dapat menentukan nama saluran Anda dan "q" karena Anda dapat memberikan kata kunci pencarian Anda.
sumber
Hanya dalam tiga langkah:
Langganan: daftar -> https://www.googleapis.com/youtube/v3/subscription?part=snippet&maxResults=50&mine=true&access_token= {oauth_token}
Saluran: daftar -> https://www.googleapis.com/youtube/v3/channels?part=contentDetails&id= {channel_id} & key = {YOUR_API_KEY}
PlaylistItems: list -> https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId= {playlist_id} & key = {YOUR_API_KEY}
sumber
Berkat referensi yang dibagikan di sini dan di tempat lain, saya telah membuat skrip / alat online yang dapat digunakan seseorang untuk mendapatkan semua video saluran.
Ini menggabungkan panggilan API untuk
youtube.channels.list
,playlistItems
,videos
. Ini menggunakan fungsi rekursif untuk membuat panggilan balik asinkron menjalankan iterasi berikutnya setelah mendapatkan respons yang valid.Ini juga berfungsi untuk membatasi jumlah permintaan aktual yang dibuat sekaligus, sehingga Anda tetap aman dari pelanggaran aturan API YouTube. Berbagi cuplikan singkat dan lalu tautan ke kode lengkap. Saya mendapatkan sekitar 50 hasil maksimal per batasan panggilan dengan menggunakan nilai nextPageToken yang muncul sebagai respons untuk mengambil 50 hasil berikutnya dan seterusnya.
Ini mendapat daftar dasar video, termasuk id, judul, tanggal penerbitan, dan sejenisnya. Tetapi untuk mendapatkan lebih detail dari setiap video seperti jumlah tayangan dan suka, kita harus membuat panggilan API
videos
.Lihat kode lengkapnya di sini , dan versi live di sini . (Edit: tautan github tetap)
Sunting: Ketergantungan: JQuery, Papa.parse
sumber
Karena semua orang yang menjawab pertanyaan ini memiliki masalah karena batas 500 video, inilah solusi alternatif menggunakan youtube_dl di Python 3 . Juga, tidak ada kunci API yang diperlukan .
sudo pip3 install youtube-dl
Contoh (peringatan - membutuhkan waktu puluhan menit):
sumber
@for /f "usebackq tokens=2 delims=: " %a in (`dl-list.py^|findstr information`) do @echo https://www.youtube.com/watch?v=%a
. Ini akan mencetak semua URL video.PLAYLIST_ID
dapat berupa daftar putar atau ID saluran.dl-list.py
.Menggunakan API versi 2, yang sudah tidak digunakan lagi, URL untuk diunggah (saluran UCqAEtEr0A0Eo2IVcuWBfB9g) adalah:
https://gdata.youtube.com/feeds/users/UCqAEtEr0A0Eo2IVcuWBfB9g/uploads
Ada versi API 3.
sumber
Baru-baru ini saya harus mengambil semua video dari saluran, dan menurut dokumentasi pengembang YouTube: https://developers.google.com/youtube/v3/docs/playlistItems/list
Di mana objek
$service
AndaGoogle_Service_YouTube
.Jadi, Anda harus mengambil informasi dari saluran untuk mengambil daftar putar "unggahan" yang sebenarnya memiliki semua video yang diunggah oleh saluran: https://developers.google.com/youtube/v3/docs/channels/list
Jika baru dengan API ini, saya sangat menyarankan untuk mengubah sampel kode dari cuplikan default ke sampel lengkap.
Jadi kode dasar untuk mengambil semua video dari suatu saluran dapat berupa:
sumber
Contoh solusi dalam Python. Bantuan diambil dari video ini: video Seperti banyak jawaban lain, id unggah harus diambil dari id saluran terlebih dahulu.
sumber
Tautan yang diunduh dari saluran youtube, jangan struktur direktori pemelihara. Jadi, saya menulis kode untuk mewujudkannya. Gunakan ini setelah Anda mengunduh video dari cara yang diterima di atas. `
`
sumber
Sebagai status dokumentasi ( tautan ), Anda dapat menggunakan jenis sumber daya saluran dan Daftar operasi untuk mendapatkan semua video dalam suatu saluran. Operasi ini harus dilakukan menggunakan argumen 'id saluran'.
sumber