как получить идентификатор видео из URL-адреса видео tiktok - PullRequest
1 голос
/ 03 мая 2020

Я использую две функции для получения URL или воспроизведения видео 1. Для извлечения тикок для видео с водяным знаком

public function getDetails()
{
    $url = $this->url;
    $resp = $this->getContent($url);
    $check = explode("\"contentUrl\":\"", $resp);
    if (count($check) > 1) {
        $video = explode("\"", $check[1])[0];
        $videoWithoutWaterMark = $this->WithoutWatermark($url);
        $thumb = explode("\"", explode("\"thumbnailUrl\":[\"", $resp)[1])[0];
        $username = explode("/", explode("@", explode("\"", explode("\"url\":\"", $resp)[1])[0])[1])[0];

        $result = [
            'video'=>$video,
            'withoutWaterMark'=>$videoWithoutWaterMark,
            'user'=>$username,
            'thumb'=>$thumb,
            'error'=>false,
            'message'=>false
        ];
    }
    else
    {
        $result = [
            'video'=>false,
            'withoutWaterMark'=>false,
            'user'=>false,
            'thumb'=>false,
            'error'=>true,
            'message'=>"Please double check your url and try again."
        ];
    }

    return $result;

}


private function cUrl($url)
{
    $user_agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;

}

и еще одна функция для получения URL-адреса видео без водяного знака

private function WithoutWatermark($url)
{
    //videi id for example 6795008547961752326
    $dd = explode("video/",$url);
    $url = "https://api2.musical.ly/aweme/v1/playwm/?video_id=".$dd[1];
    return $url;
}

Пожалуйста, помогите мне найти идентификатор видео tiktok или любой другой способ создать ссылку для скачивания видео без водяного знака. как я могу найти идентификатор видео для видео, чтобы использовать его для создания ссылки для скачивания "https://api2.musical.ly/aweme/v1/playwm/?video_id=v09044b90000bpfdj5q91d8vtcnie6o0";

1 Ответ

0 голосов
/ 05 мая 2020

Ваша функция без водяного знака не работает.

Если у вас есть URL-адрес, например: tiktok.com/@user/video/123456

, тогда вы можете сделать завиток:

$data = cUrl($url)

Вы получите страницу из tiktok, с помощью регулярных выражений вы можете извлечь URL-видео:

https://v16.muscdn.com/123etc

Затем снова свернитесь с указанным выше URL, ответ будет байтовым, а внутри с помощью регулярных выражений вы сможете найдите что-то вроде этого vid: yourvideoid

...