日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

抖音怎么把視頻的水印去掉 怎樣才能把抖音視頻的水印去掉

獲取抖音小視頻分享鏈接首先,在抖音上找到想要下載或者保存的小視頻 。

抖音怎么把視頻的水印去掉 怎樣才能把抖音視頻的水印去掉


其次,點擊視頻右側(cè)邊欄的分享按鈕,在最下方一欄找到復(fù)制鏈接,然后點擊復(fù)制鏈接,這個時候 , 這個短視頻的鏈接就復(fù)制到了手機的粘貼板上了 。
抖音怎么把視頻的水印去掉 怎樣才能把抖音視頻的水印去掉



抖音怎么把視頻的水印去掉 怎樣才能把抖音視頻的水印去掉


然后,打開手機中的記事本,粘貼分享的視頻鏈接,會得到一個以https開頭的鏈接,這個鏈接接下來就是我要用到的東西 。
分析接口1,將得到抖音分享鏈接直接用電腦上的瀏覽器打開,按F12打開調(diào)試器 。然后F5刷新頁面,我將獲得抖音服務(wù)器給我們返回的信息 。
2,在我的調(diào)試器窗口中,可以看到,瀏覽器在刷新的時候進行了多次服務(wù)器的請求,只需要找到對我有用的請求,如下圖所示
抖音怎么把視頻的水印去掉 怎樣才能把抖音視頻的水印去掉


3,分析服務(wù)器給我們返回來的數(shù)據(jù),在調(diào)試器中找到preview并點擊它,會獲取到該視頻的所有信息,這些信息其實是一個json封裝的數(shù)據(jù)格式 。
抖音怎么把視頻的水印去掉 怎樣才能把抖音視頻的水印去掉


4,我都拿到該視頻的所有數(shù)據(jù)了,那么剩下的就是對這些數(shù)據(jù)進行分析,通過分析發(fā)現(xiàn) , 視頻鏈接是存放在item_list->video->play_addr->url_list下面的 。如下圖所示
抖音怎么把視頻的水印去掉 怎樣才能把抖音視頻的水印去掉


5,替換掉獲取到的接口中的playwm為play即可得到該小姐姐的無水印視頻,然后驗證一下接口是否真的無水印了 。
抖音怎么把視頻的水印去掉 怎樣才能把抖音視頻的水印去掉


當我知道了抖音的視頻鏈接存放位置,水印視頻和無水印視頻的區(qū)別之后,我就可以自己開發(fā)一個接口,后面就不用每次都要去分析視頻接口,這個重復(fù)的工作就交給計算機去做即可 。
JAVA代碼處理直接上代碼,代碼本來就比較簡單,主要是分析過程,開發(fā)語言只是實現(xiàn)工具 。
抖音怎么把視頻的水印去掉 怎樣才能把抖音視頻的水印去掉


//模擬請求頭final static String usedAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/84.0.4147.105";/*** @param url* @return*/@PostMapping("video")@ApiOperation("抖音短視頻解析接口")public String getVideoUrl(@ApiParam(required = true, value = https://www.bjxdyg.com/baike/"抖音短視頻鏈接") @RequestParam String url) {try {//模擬瀏覽器請求分享地址String body = HttpRequest.get(filterUrl(url)).header(Header.USER_AGENT, usedAgent).execute().body();String video_id = body.substring(body.indexOf("/video/") + 7, body.indexOf("/?"));//這次請求才是我上文中分析的視頻的真實請求地址body = HttpRequest.get("https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=" + video_id).header(Header.USER_AGENT, usedAgent).execute().body();JSONObject json = JSONObject.parseObject(body);String videoAddress = json.getJSONArray("item_list").getJSONObject(0).getJSONObject("video").getJSONObject("play_addr").getJSONArray("url_list").get(0).toString();//替換鏈接中的playwmreturn videoAddress.replaceAll("playwm", "play");} catch (Exception e) {return null;}}/*** 消除分享鏈接中的中文字符** @param url* @return*/public static String filterUrl(String url) {String regex = "https?://(\w|-)+(\.(\w|-)+)+(/(\w+(\?(\w+=(\w|%|-)*(\&\w+=(\w|%|-)*)*)?)?)?)+";//匹配網(wǎng)址Pattern p = Pattern.compile(regex);Matcher m = p.matcher(url);if (m.find()) {return url.substring(m.start(), m.end());}return "";}

推薦閱讀