Я люблю виноград и хочу сделать что-то лучше.
У меня есть ссылка Vine, например http://vine.co/v/bJqWrOHjMmU
, однако это ссылка на страницу, а не URL-адрес видео.
Я знаю, что это ново, но у Vine есть API, или как еще я смогу получить URL-адрес видео? Я все еще озадачен тем, как Vinepeek получает видеоролик?
Он находится в источнике страницы; вы можете разобрать его с помощью букмарклета JavaScript
function qry(sr) { var qa = []; for (var prs of sr.split('&')) { var pra = prs.split('='); qa[pra[0]] = pra[1]; } return qa; } var alpha = document.querySelector('[name=flashvars]').getAttribute('value'); var bravo = qry(alpha); bravo.src;
результат
https://vines.s3.amazonaws.com/videos/08C49094-DFB4-46DF-8110-EEEC7D4D6115-1133-000000B8AD9BE72C_1.0.1.mp4?versionId=TQGtC5O7G7H34TleFA2LF0Er9tI8VZUe
Источник
API JSON имеет следующий URL: http://vinepeek.com/video
Вы можете использовать средство веб-инспектора / консоли / разработчика, чтобы проверить исходный код.
<video id="post_html5_api" class="vjs-tech" loop="" preload="auto" src="https://vines.s3.amazonaws.com/videos/08C49094-DFB4-46DF-8110-EEEC7D4D6115-1133-000000B8AD9BE72C_1.0.1.mp4?versionId=TQGtC5O7G7H34TleFA2LF0Er9tI8VZUe"></video>
URL-адрес:
https://vines.s3.amazonaws.com/videos/08C49094-DFB4-46DF-8110-EEEC7D4D6115-1133-000000B8AD9BE72C_1.0.1.mp4?versionId=TQGtC5O7G7H34TleFA2LF0Er9tI8VZUe
Это простая функция, которую я использую для получения видео src из результата curl. http://vine.co/v/bJqWrOHjMmU
function getVineVideoFromUrl($url) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $res = curl_exec($ch); preg_match('/twitter:player:stream.*content="(.*)"/', $res, $output); return $output[1]; }
результат
https://vines.s3.amazonaws.com/v/videos/08C49094-DFB4-46DF-8110-EEEC7D4D6115-1133-000000B8AD9BE72C_1.0.1.mp4?versionId=ms6ePoPeFm6NQZkeNHegV3k_ZLV4bz9x