2013-03-23 3 views
0

Как я могу получить длительность видео с YouTube с помощью bash? Предпочтительно использовать curl и без необходимости связываться с аутентификацией и ключами API.Получите длительность видео с YouTube с помощью bash

Если возможно, я хотел бы узнать подробности (т. Е. Я думаю, что результаты даны в json, поэтому, возможно, это способ получить от этого только длительность), но главная проблема - это длительность.

ответ

1

Ну, если вы не хотите использовать API, и хотел бы использовать локон, вот супер некрасиво ответ на матч :)

Marks-MacBook-Air:~ mstanislav$ curl -s http://www.youtube.com/watch?v=dQw4w9WgXcQ |grep '<meta itemprop="duration"' 
<meta itemprop="duration" content="PT3M33S"> 

PT3M33S означает 3 минуты и 33 секунд, что является продолжительность. Просто обработайте данные оттуда (через скрипт оболочки или иначе вы используете curl with). Будьте добрыми избирателями, просто ответив на вопрос по запросу;)

Ради всего довольного, используйте curl с API, который не требует ключа разработчика, если вы не загружаете или не записываете данные.

curl -s 'http://gdata.youtube.com/feeds/api/videos/dQw4w9WgXcQ?v=2&alt=jsonc' 
+0

Я точно не имею ничего против API, но от того, что я видел, кажется, что мне нужно бы зарегистрировать приложение, чтобы получить ключ, и это слишком много хлопот для такой простой задачи (если Я ошибаюсь в этом отношении, вы можете поделиться им с API, если хотите). Это не так уродливо, он работает по назначению. Это не очень быстро, но все будет хорошо. Спасибо. – user137369

+0

Обновлен разумным способом, используя API. Как я уже сказал, для простого простого видео-запроса не нужен ключ API. Ищите «продолжительность», которая находится в секундах. Наслаждайтесь! –

+0

Как ни странно, «уродливый» способ безопаснее. Поскольку URL-адреса youtube не всегда соответствуют одной и той же схеме (например, спискам), получение идентификатора видео может быть сложным, что делает первый способ более безумным. – user137369

Смежные вопросы