我喜欢vinepeek,并希望做出更好的东西。
我有藤蔓链接,例如 http://vine.co/v/bJqWrOHjMmU
,但这是指向页面的链接,而不是视频 URL。
我知道这是新的,但是 Vine 是否有 API,否则我如何能够获取视频的网址?我仍然对 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
源
JSON API 具有以下 URL:http://vinepeek.com/video
您可以使用 Web 检查器/控制台/开发人员工具来检查源代码。
<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>
网址为:
https://vines.s3.amazonaws.com/videos/08C49094-DFB4-46DF-8110-EEEC7D4D6115-1133-000000B8AD9BE72C_1.0.1.mp4?versionId=TQGtC5O7G7H34TleFA2LF0Er9tI8VZUe
这是一个简单的函数,我用它来从 curl 结果中获取视频 src。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