Nous avons besoin d'une liste de vidéos par nom de chaîne de YouTube (en utilisant l'API).
Nous pouvons obtenir une liste de chaînes (uniquement le nom de la chaîne) en utilisant l'API ci-dessous:
https://gdata.youtube.com/feeds/api/channels?v=2&q=tendulkar
Ci-dessous un lien direct des chaînes
https://www.youtube.com/channel/UCqAEtEr0A0Eo2IVcuWBfB9g
Ou
WWW.YouTube.com/channel/HC-8jgBP-4rlI
Maintenant, nous avons besoin de vidéos de canal >> UCqAEtEr0A0Eo2IVcuWBfB9g ou HC-8jgBP-4rlI.
Nous avons essayé
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=UC7XayZ
Mais cela n'aide pas.
Nous avons besoin de toutes les vidéos publiées sur la chaîne. Les vidéos téléchargées sur une chaîne peuvent provenir de plusieurs utilisateurs, donc je ne pense pas que fournir un paramètre utilisateur aiderait ...
la source
Réponses:
Vous devez regarder l' API YouTube Data . Vous y trouverez de la documentation sur l'accès à l'API. Vous pouvez également trouver des bibliothèques clientes .
Vous pouvez également faire les demandes vous-même. Voici un exemple d'URL qui récupère les dernières vidéos d'une chaîne:
Après cela, vous recevrez un
JSON
avec les identifiants et les détails de la vidéo, et vous pourrez construire votre URL de vidéo comme ceci:la source
maxResults=20
(jusqu'à 50) vidéos, mais pas l'intégralité du catalogue de chaînes. Si vous voulez plus de résultats, utilisez le pageToken comme décrit ici .Tout d'abord, vous devez obtenir l'ID de la liste de lecture qui représente les téléchargements de l'utilisateur / chaîne:
https://developers.google.com/youtube/v3/docs/channels/list#try-it
Vous pouvez spécifier le nom d'utilisateur avec le
forUsername={username}
paramètre ou spécifiermine=true
pour obtenir le vôtre (vous devez d'abord vous authentifier). Inclurepart=contentDetails
pour voir les listes de lecture.GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername=jambrose42&key={YOUR_API_KEY}
Dans le résultat
"relatedPlaylists"
comprendra"likes"
et"uploads"
playlists. Saisissez cet"upload"
ID de playlist. Notez également que"id"
c'est votre channelID pour référence future.Ensuite, obtenez une liste de vidéos dans cette playlist:
https://developers.google.com/youtube/v3/docs/playlistItems/list#try-it
Déposez simplement le playlistId!
GET https://www.googleapis.com/youtube/v3/playlistItems?part=snippet%2CcontentDetails&maxResults=50&playlistId=UUpRmvjdu3ixew5ahydZ67uA&key={YOUR_API_KEY}
la source
Voici une vidéo des développeurs Google montrant comment répertorier toutes les vidéos d'une chaîne dans
v3
l'API YouTube.Il y a deux étapes:
Recherchez les canaux pour obtenir l'ID "uploads". par exemple
https://www.googleapis.com/youtube/v3/channels?id={channel Id}&key={API key}&part=contentDetails
Utilisez cet identifiant "uploads" pour interroger PlaylistItems pour obtenir la liste des vidéos. par exemple
https://www.googleapis.com/youtube/v3/playlistItems?playlistId={"uploads" Id}&key={API key}&part=snippet&maxResults=50
la source
Pour obtenir la liste des chaînes:
Obtenir la liste des chaînes par forUserName :
https://www.googleapis.com/youtube/v3/channels?part=snippet,contentDetails,statistics&forUsername=Apple&key=
Obtenir la liste des chaînes par identifiant de chaîne :
https://www.googleapis.com/youtube/v3/channels/?part=snippet,contentDetails,statistics&id=UCE_M8A5yxnLfW0KghEeajjw&key=
Obtenir les sections de chaîne:
https://www.googleapis.com/youtube/v3/channelSections?part=snippet,contentDetails&channelId=UCE_M8A5yxnLfW0KghEeajjw&key=
Pour obtenir des listes de lecture:
Obtenir des listes de lecture par ID de chaîne :
https://www.googleapis.com/youtube/v3/playlists?part=snippet,contentDetails&channelId=UCq-Fj5jknLsUf-MWSy4_brA&maxResults=50&key=
Obtenir des listes de lecture par ID de chaîne avec pageToken :
https://www.googleapis.com/youtube/v3/playlists?part=snippet,contentDetails&channelId=UCq-Fj5jknLsUf-MWSy4_brA&maxResults=50&key= & pageToken = CDIQAA
Pour obtenir des PlaylistItems:
Obtenez la liste PlaylistItems par PlayListId :
https://www.googleapis.com/youtube/v3/playlistItems?part=snippet,contentDetails&maxResults=25&playlistId=PLHFlHpPjgk70Yv3kxQvkDEO5n5tMQia5I&key=
Pour obtenir des vidéos:
Obtenez la liste des vidéos par identifiant vidéo :
https://www.googleapis.com/youtube/v3/videos?part=snippet,contentDetails,statistics&id=YxLCwfA1cLw&key=
Obtenez la liste des vidéos par plusieurs identifiants de vidéos :
https://www.googleapis.com/youtube/v3/videos?part=snippet,contentDetails,statistics&id=YxLCwfA1cLw,Qgy6LaO3SB0,7yPJXGO2Dcw&key=
Avoir liste des commentaires
Obtenir la liste des commentaires par ID vidéo :
https://www.googleapis.com/youtube/v3/commentThreads?part=snippet,replies&videoId=el **** kQQak & key = A ********** k
Obtenir la liste des commentaires par ID de chaîne :
https://www.googleapis.com/youtube/v3/commentThreads?part=snippet,replies&channelId=U ***** Q & key = AI ******** k
Obtenir la liste des commentaires de allThreadsRelatedToChannelId :
https://www.googleapis.com/youtube/v3/commentThreads?part=snippet,replies&allThreadsRelatedToChannelId=UC ***** ntcQ & key = AI ***** k
Ici, toutes les API sont Get approche .
En fonction de l'identifiant de la chaîne, nous n'obtenons pas toutes les vidéos directement, c'est le point important ici.
Pour l'intégration https://developers.google.com/youtube/v3/quickstart/ios?ver=swift
la source
Vous trouverez ci-dessous une alternative Python qui ne nécessite aucun package spécial. En fournissant l'ID de chaîne, il renvoie une liste de liens vidéo pour cette chaîne. Veuillez noter que vous avez besoin d'une clé API pour que cela fonctionne.
la source
video_list = get_all_video_in_channel("ABC123EFG456")
alors vous pouvez l'imprimer pour voir le tableau en utilisantprint(video_list)
la source
Essayez comme suit. Cela peut vous aider.
https://gdata.youtube.com/feeds/api/videos?author=cnn&v=2&orderby=updated&alt=jsonc&q=news
Ici auteur comme vous pouvez spécifier le nom de votre chaîne et "q" comme vous pouvez donner votre mot clé de recherche.
la source
Juste en trois étapes:
Abonnements: liste -> https://www.googleapis.com/youtube/v3/subscriptions?part=snippet&maxResults=50&mine=true&access_token= {oauth_token}
Chaînes: liste -> 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}
la source
Grâce aux références partagées ici et ailleurs, j'ai réalisé un script / outil en ligne que l'on peut utiliser pour obtenir toutes les vidéos d'une chaîne.
Il combine les appels API à
youtube.channels.list
,playlistItems
,videos
. Il utilise des fonctions récursives pour que les rappels asynchrones exécutent la prochaine itération lors de l'obtention d'une réponse valide.Cela permet également de limiter le nombre réel de demandes effectuées à la fois, vous évitant ainsi de violer les règles de l'API YouTube. Partager des extraits abrégés, puis un lien vers le code complet. J'ai réussi à contourner les 50 résultats maximum par appel en utilisant la valeur nextPageToken qui vient dans la réponse pour récupérer les 50 résultats suivants et ainsi de suite.
Cela a obtenu une liste de base des vidéos, y compris l'identifiant, le titre, la date de publication et similaires. Mais pour obtenir plus de détails sur chaque vidéo, comme le nombre de vues et les likes, il faut passer des appels à l'API
videos
.Voir le code complet ici et la version live ici . (Edit: lien github fixe)
Edit: Dépendances: JQuery, Papa.parse
la source
Étant donné que tous ceux qui répondent à cette question ont des problèmes en raison de la limite de 500 vidéos, voici une solution alternative utilisant youtube_dl en Python 3 . De plus, aucune clé API n'est nécessaire .
sudo pip3 install youtube-dl
Exemple (avertissement - prend des dizaines de minutes):
la source
@for /f "usebackq tokens=2 delims=: " %a in (`dl-list.py^|findstr information`) do @echo https://www.youtube.com/watch?v=%a
. Il imprimera toutes les URL des vidéos.PLAYLIST_ID
peut être une liste de lecture ou un identifiant de chaîne.dl-list.py
.En utilisant l'API version 2, qui est obsolète, l'URL pour les téléchargements (du canal UCqAEtEr0A0Eo2IVcuWBfB9g) est:
https://gdata.youtube.com/feeds/users/UCqAEtEr0A0Eo2IVcuWBfB9g/uploads
Il existe une version 3 de l'API.
la source
Récemment, j'ai dû récupérer toutes les vidéos d'une chaîne, et selon la documentation des développeurs YouTube: https://developers.google.com/youtube/v3/docs/playlistItems/list
Où
$service
est tonGoogle_Service_YouTube
objet.Vous devez donc récupérer les informations de la chaîne pour récupérer la playlist "uploads" qui contient en fait toutes les vidéos téléchargées par la chaîne: https://developers.google.com/youtube/v3/docs/channels/list
Si vous êtes nouveau avec cette API, je vous recommande fortement de transformer l'exemple de code de l'extrait par défaut en exemple complet.
Ainsi, le code de base pour récupérer toutes les vidéos d'une chaîne peut être:
la source
Exemple de solution en Python. Aide tirée de cette vidéo: vidéo Comme beaucoup d'autres réponses, l'identifiant de téléchargement doit d'abord être récupéré à partir de l'identifiant de la chaîne.
la source
Les liens téléchargés à partir de la chaîne YouTube ne préservent pas la structure du répertoire. J'ai donc écrit un code pour que cela se produise. Utilisez-le une fois que vous téléchargez les vidéos de la manière acceptée ci-dessus. "
"
la source
Comme l'indique la documentation ( lien ), vous pouvez utiliser le type de ressource de chaîne et la liste des opérations pour obtenir toutes les vidéos d'une chaîne. Cette opération doit être effectuée à l'aide de l'argument 'id canal'.
la source