【问题标题】:wait for youtube video started by python code to finish等待由 python 代码启动的 youtube 视频完成
【发布时间】:2018-01-27 14:49:37
【问题描述】:
    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')

此代码会立即在我的浏览器中播放第二个 URL。 我希望代码等到第一个视频停止。所以我需要从页面播放视频的时间并将其设置为睡眠功能,所以我该怎么做。 或者还有其他方法可以做到这一点。

提前致谢。

【问题讨论】:

    标签: python url import youtube sleep


    【解决方案1】:

    你可以利用时间

    import time
    time.sleep(secs)
    

    【讨论】:

      【解决方案2】:

      要确定视频的长度,您需要使用YouTube Data API。你可以参考这个 Stack Overflow answer,它给出了一个如何调用 API 的例子

      例如下面的调用:

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

      给出这个结果:

      {
       "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"
           ]
          }
         }
        }
       ]
      }
      

      时间格式为 ISO 8601 字符串。 PT代表Time Duration,4M是4分钟,13S是13秒。

      然后,您可以使用 time.sleep(secs) 休眠 API 返回的 secs 数量。

      【讨论】:

      • 请不要将> 字符用于自定义格式。 > 字符 has been discussed on meta 的(不当)使用,我不得不从答案中编辑这些内容。
      猜你喜欢
      • 1970-01-01
      • 2012-02-15
      • 2017-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-18
      相关资源
      最近更新 更多