web-dev-qa-db-ja.com

tiktokビデオURLからビデオIDを取得する方法

私は、URLまたはビデオ再生を取得するために2つの関数を使用しています1.透かし付きのビデオ用のtiktokを抽出します

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ビデオID、または透かしのないビデオのダウンロードリンクを作成する方法を見つけるのを手伝ってください。ビデオのビデオIDを見つけて、ダウンロードリンクを作成するためにこのビデオIDを使用する方法 " https://api2.musical.ly/aweme/v1/playwm/?video_id=v09044b90000bpfdj5q91d8vtcnie6o ";

1

関数WithoutWatermarkは機能しません。

次のようなURLがある場合:tiktok.com/@user/video/123456

それからあなたはカールを作ることができます:

$data = cUrl($url)

あなたはtiktokからページを取得します、正規表現であなたはurlビデオを抽出することができます:

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

次に、上記のURLで再びカールします。応答はバイトで、正規表現を使用すると、次のようなvid:yourvideoidを見つけることができます。

0
em294