PHP代碼實(shí)現(xiàn)快手去水印

PHP代碼實(shí)現(xiàn)微視去水印

前言

1、一直在尋找微視去水印的方法乔宿,PHP的要不然過(guò)時(shí)了位迂,要不然就是java的,或者是Python的予颤。

2囤官、更過(guò)分的是有人提供api收費(fèi)接口打著,開源源碼的旗號(hào)蛤虐。

3、這里我就提供純粹的源碼思路肝陪,怎么啦驳庭!怎么啦

實(shí)現(xiàn)思路

1、參考博客:快手去水印解析獲取源標(biāo)題氯窍、作者饲常、頭像、封面圖以及源視頻下載地址

頁(yè)面分析

1狼讨、拿到一個(gè)快手分享頁(yè)面 http://kphbeijing.m.chenzhongtech.com/s/ARmv5BoW

然后我們獲取這個(gè)短視頻的文案標(biāo)題贝淤、視頻封面、視頻地址

獲取數(shù)據(jù)

       $headers = [
            'Connection' => 'keep-alive',
            'User-Agent'=>'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Mobile Safari/537.36'
        ];
        $client = new Client(['headers'=>$headers]);

        //允許重定向獲取html
        $res = $client->request('GET', $url,['allow_redirects' => true]);
        $html = (string)$res->getBody();


        $Query = QueryList::getInstance();
        $json = $Query->html($html)->find('div[id=hide-pagedata]')->attr('data-pagedata');
        $video_data = json_decode($json,true);

獲取視頻詳細(xì)信息

     //獲取圖片id
        $photoId = $video_data['photoId'];
        $param = "client_key=56c3713c&photoIds=".$photoId;

        //計(jì)算sign
        $replace = str_replace("&", "",$param).'23caab00356c';
        $sig =md5($replace);

        $queryUrl = 'http://api.gifshow.com/rest/n/photo/info?'.$param."&sig=".$sig;

        //獲取url地址之后不能讓他重定向
        $res = $client->request('GET', $queryUrl,['allow_redirects' => false]);
        $body = (string)$res->getBody();
        $result = json_decode($body,true);
  • 上面的代碼java版本的解釋一下政供,下面 new String(new byte[]{50, 51, 99, 97, 97, 98, 48, 48, 51, 53, 54, 99})明顯是一個(gè)固定的字符串java運(yùn)行結(jié)果23caab00356c播聪。然后是SecureUtil.md5().digestHex(replace)這句明顯就是SecureUtil.md5(replace)也就是phper看得懂的MD5加密:
 String replace = StrUtil.replace(param, "&", "") + new String(new byte[]{50, 51, 99, 97, 97, 98, 48, 48, 51, 53, 54, 99});
        String sig = SecureUtil.md5().digestHex(replace);

視頻封面朽基、視頻地址獲取

       $video_data = $result['photos'][0];
        $data['video_src']= $video_data['main_mv_url'];
        $data['video_cover'] = $video_data['thumbnail_url'];

文案標(biāo)題獲取

  $video_title = $video_data['caption'];
        $title =  explode('@',$video_title);
        for ($i=0;$i<count($title);$i++){
            $video_title = str_replace('@'.$title[$i],"",$video_title);
        }

        $title =  explode('#',$video_title);
        for ($i=0;$i<count($title);$i++){
            $video_title = str_replace('#'.$title[$i],"",$video_title);
        }

        $data['video_title'] = $video_title;

最后代碼總結(jié)

  public function kuaiShou($url){
        $headers = [
            'Connection' => 'keep-alive',
            'User-Agent'=>'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Mobile Safari/537.36'
        ];
        $client = new Client(['headers'=>$headers]);

        //允許重定向獲取html
        $res = $client->request('GET', $url,['allow_redirects' => true]);
        $html = (string)$res->getBody();


        $Query = QueryList::getInstance();
        $json = $Query->html($html)->find('div[id=hide-pagedata]')->attr('data-pagedata');
        $video_data = json_decode($json,true);

        //獲取圖片id
        $photoId = $video_data['photoId'];
        $param = "client_key=56c3713c&photoIds=".$photoId;

        //計(jì)算sign
        $replace = str_replace("&", "",$param).'23caab00356c';
        $sig =md5($replace);

        $queryUrl = 'http://api.gifshow.com/rest/n/photo/info?'.$param."&sig=".$sig;

        //獲取url地址之后不能讓他重定向
        $res = $client->request('GET', $queryUrl,['allow_redirects' => false]);
        $body = (string)$res->getBody();
        $result = json_decode($body,true);

        //獲取到視頻相關(guān)數(shù)據(jù)
        $video_data = $result['photos'][0];
        $data['video_src']= $video_data['main_mv_url'];
        $data['video_cover'] = $video_data['thumbnail_url'];

        //獲取文案標(biāo)題
        $video_title = $video_data['caption'];
        $title =  explode('@',$video_title);
        for ($i=0;$i<count($title);$i++){
            $video_title = str_replace('@'.$title[$i],"",$video_title);
        }

        $title =  explode('#',$video_title);
        for ($i=0;$i<count($title);$i++){
            $video_title = str_replace('#'.$title[$i],"",$video_title);
        }

        $data['video_title'] = $video_title;
        return $data;
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市离陶,隨后出現(xiàn)的幾起案子稼虎,更是在濱河造成了極大的恐慌,老刑警劉巖招刨,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件霎俩,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡沉眶,警方通過(guò)查閱死者的電腦和手機(jī)打却,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)谎倔,“玉大人学密,你說(shuō)我怎么就攤上這事〈兀” “怎么了腻暮?”我有些...
    開封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)毯侦。 經(jīng)常有香客問我哭靖,道長(zhǎng),這世上最難降的妖魔是什么侈离? 我笑而不...
    開封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任试幽,我火速辦了婚禮,結(jié)果婚禮上卦碾,老公的妹妹穿的比我還像新娘铺坞。我一直安慰自己,他們只是感情好洲胖,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開白布济榨。 她就那樣靜靜地躺著,像睡著了一般绿映。 火紅的嫁衣襯著肌膚如雪擒滑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天叉弦,我揣著相機(jī)與錄音丐一,去河邊找鬼。 笑死淹冰,一個(gè)胖子當(dāng)著我的面吹牛库车,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播樱拴,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼柠衍,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼洋满!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起拧略,我...
    開封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤芦岂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后垫蛆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體禽最,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年袱饭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了川无。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡虑乖,死狀恐怖懦趋,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情疹味,我是刑警寧澤仅叫,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站糙捺,受9級(jí)特大地震影響诫咱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜洪灯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一坎缭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧签钩,春花似錦掏呼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至柠并,卻和暖如春岭接,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背臼予。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留啃沪,地道東北人粘拾。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像创千,于是被迫代替她去往敵國(guó)和親缰雇。 傳聞我的和親對(duì)象是個(gè)殘疾皇子入偷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • PHP代碼實(shí)現(xiàn)抖音去水印 前言 1、一直在尋找抖音去水印的方法械哟,PHP的要不然過(guò)時(shí)了疏之,要不然就是java的,或者是...
    DD生活閱讀 4,369評(píng)論 7 9
  • 1暇咆、快手怎么開通直播 首先打開手機(jī)桌面上的“快手”锋爪。1.再進(jìn)入了快手的頁(yè)面后,點(diǎn)擊左上角的圖標(biāo)爸业。2.再點(diǎn)擊“設(shè)置”...
    筷守人氣定位閱讀 19,104評(píng)論 0 5
  • 學(xué)問是每每互相關(guān)聯(lián)的其骄。一人找到一種有趣味的書,必定由一問題而引起其他問題扯旷,由看一本書而不得不去找關(guān)系的十幾種書拯爽,如...
    其實(shí)很想說(shuō)閱讀 353評(píng)論 1 0
  • 好久、好久沒有睡過(guò)半小時(shí)的午覺 沉沉的腦袋钧忽,暈暈的夢(mèng) 夢(mèng)見夏日的午后 穿著白襯衫坐在小學(xué)的座位上 看嬉鬧的自己和操...
    頭不大的大頭閱讀 104評(píng)論 0 0