2017-08-18 2 views
0
import webbrowser 
    import os 
    import urlparse 
    import urllib 
    webbrowser.open('https://www.youtube.com/watch?v=SC4xMk98Pdc') 
    webbrowser.open('https://www.youtube.com/watch?v=SC4xMk98Pdc') 

ce code joue immédiatement la deuxième URL dans mon navigateur. Je veux que le code attende jusqu'à ce que la première vidéo s'arrête. Alors j'ai besoin de lire le temps de la vidéo de la page et de le mettre en veille, alors comment faire. ou il y a une autre façon de le faire.attendre la vidéo youtube a commencé par le code python pour terminer

Merci d'avance.

Répondre

0

vous pouvez utiliser le temps

import time 
time.sleep(secs) 
1

Pour déterminer la longueur d'une vidéo, vous devez utiliser le YouTube Data API. Vous pouvez vous référer à ce débordement de pile answer, ce qui donne un exemple de la façon de faire un appel à l'API

Par exemple, l'appel suivant:

https://www.googleapis.com/youtube/v3/videos?id=9bZkp7q19f0&part=contentDetails&key= {YOUR_API_KEY}

donne ce résultat:

{ 
"kind": "youtube#videoListResponse", 
"etag": "\"XlbeM5oNbUofJuiuGi6IkumnZR8/ny1S4th-ku477VARrY_U4tIqcTw\"", 
"items": [ 
    { 
    "id": "9bZkp7q19f0", 
    "kind": "youtube#video", 
    "etag": "\"XlbeM5oNbUofJuiuGi6IkumnZR8/HN8ILnw-DBXyCcTsc7JG0z51BGg\"", 
    "contentDetails": { 
    "duration": "PT4M13S", 
    "dimension": "2d", 
    "definition": "hd", 
    "caption": "false", 
    "licensedContent": true, 
    "regionRestriction": { 
    "blocked": [ 
     "DE" 
    ] 
    } 
    } 
    } 
] 
} 

L'heure est formatée en tant que chaîne ISO 8601. PT signifie Durée, 4M est 4 minutes et 13S est 13 secondes.

Vous pouvez ensuite utiliser time.sleep(secs) pour afficher le nombre de secs renvoyés par l'API.

+0

Veuillez ne pas utiliser le caractère '>' pour le formatage personnalisé. L'utilisation (abusive) du caractère '>' [a été discutée sur meta] (https://meta.stackoverflow.com/q/355183/1415724) et j'ai dû modifier ceux de la réponse. –