java開發(fā)抖音短視頻無水印下載工具

思路分析

首先在抖音APP段選擇你喜歡的視頻進(jìn)行分享挑豌,一般分享鏈接都是這樣的:“http://v.douyin.com/111113/”惹恃,這并不是真的下載地址,在瀏覽器中輸入上述地址,發(fā)現(xiàn)重定向到一個(gè)新的地址柬祠,也就是帶有水印的播放地址蘸拔。

在302相應(yīng)頭中l(wèi)ocation师郑,這就是視頻重定向地址,在該地址請(qǐng)求中返回的js代碼中發(fā)現(xiàn)以下地址就是請(qǐng)求帶有水印的播放地址调窍。

只需要把地址中palywm中的wm刪掉就是視頻無水印流地址呕乎。

代碼實(shí)現(xiàn)

1、利用Jsoup抓取抖音分享鏈接陨晶,在重定向返回的網(wǎng)頁中匹配水印流播放地址猬仁,然后把palywm中的wm刪掉就是視頻無水印流地址

//1.利用Jsoup抓取抖音鏈接

? ? ? ? String htmls = Jsoup.connect(url).ignoreContentType(true).execute().body(); //抓取抖音網(wǎng)頁

? ? ? ? //System.out.println(htmls); //做測(cè)試時(shí)使用

? ? ? ? //2.利用正則匹配可以抖音下載鏈接

? ? ? ? //playAddr: "https://aweme.snssdk.com/aweme/v1/playwm/?video_id=v0200ffc0000bfil6o4mavffbmroeo80&line=0",

? ? ? ? //具體匹配內(nèi)容格式:「https://aweme.snssdk.com/aweme/...line=0」

? ? ? ? Pattern patternCompile = Pattern.compile("(?<=playAddr: \")https?://.+(?=\",)");

? ? ? ? //利用Pattern.compile("正則條件").matcher("匹配的字符串對(duì)象")方法可以將需要匹配的字段進(jìn)行匹配封裝 返回一個(gè)封裝了匹配的字符串Matcher對(duì)象

? ? ? ? //3.匹配后封裝成Matcher對(duì)象

? ? ? ? Matcher m = patternCompile.matcher(htmls);

? ? ? ? //4.①利用Matcher中的group方法獲取匹配的特定字符串 ②利用String的replace方法替換特定字符,得到抖音的去水印鏈接

? ? ? ? String matchUrl = "";

? ? ? ? while (m.find()) {

? ? ? ? ? ? matchUrl = m.group(0).replaceAll("playwm", "play");

? ? ? ? }

2、替換后先誉,下載無水印流視頻湿刽,需要封裝請(qǐng)求頭。

Map<String, String> headers = new HashMap<>();

? ? ? ? headers.put("Connection", "keep-alive");

? ? ? ? headers.put("Host", "aweme.snssdk.com");

? ? ? ? headers.put("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 12_1_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/16D57 Version/12.0 Safari/604.1");

? ? ? ? //6.利用Joup獲取視頻對(duì)象,并作封裝成一個(gè)輸入流對(duì)象

? ? ? ? BufferedInputStream in = Jsoup.connect(matchUrl).headers(headers).timeout(10000).ignoreContentType(true).execute().bodyStream();? ? ?

? ? ? ? //7.封裝一個(gè)保存文件的路徑對(duì)象

? ? ? ? File fileSavePath = new File("video/"+ Math.random() * 100+".mp4");

? ? ? ? //注:如果保存文件夾不存在,那么則創(chuàng)建該文件夾

? ? ? ? File fileParent = fileSavePath.getParentFile();

? ? ? ? if (!fileParent.exists()) {

? ? ? ? ? ? fileParent.mkdirs();

? ? ? ? }

? ? ? ? //8.新建一個(gè)輸出流對(duì)象

? ? ? ? OutputStream out =

? ? ? ? ? ? ? ? new BufferedOutputStream(

? ? ? ? ? ? ? ? ? ? ? ? new FileOutputStream(fileSavePath));

? ? ? ? //9.遍歷輸出文件

? ? ? ? int b;

? ? ? ? while ((b = in.read()) != -1) {

? ? ? ? ? ? out.write(b);

? ? ? ? }

? ? ? ? out.close();//關(guān)閉輸出流

? ? ? ? in.close(); //關(guān)閉輸入流

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末褐耳,一起剝皮案震驚了整個(gè)濱河市诈闺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌铃芦,老刑警劉巖雅镊,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件襟雷,死亡現(xiàn)場離奇詭異,居然都是意外死亡仁烹,警方通過查閱死者的電腦和手機(jī)耸弄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來卓缰,“玉大人计呈,你說我怎么就攤上這事≌骰#” “怎么了捌显?”我有些...
    開封第一講書人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長总寒。 經(jīng)常有香客問我扶歪,道長,這世上最難降的妖魔是什么摄闸? 我笑而不...
    開封第一講書人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任击罪,我火速辦了婚禮,結(jié)果婚禮上贪薪,老公的妹妹穿的比我還像新娘媳禁。我一直安慰自己,他們只是感情好画切,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開白布竣稽。 她就那樣靜靜地躺著,像睡著了一般霍弹。 火紅的嫁衣襯著肌膚如雪毫别。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,624評(píng)論 1 305
  • 那天典格,我揣著相機(jī)與錄音岛宦,去河邊找鬼。 笑死耍缴,一個(gè)胖子當(dāng)著我的面吹牛砾肺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播防嗡,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼变汪,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了蚁趁?” 一聲冷哼從身側(cè)響起裙盾,我...
    開封第一講書人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后番官,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體庐完,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年徘熔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了门躯。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡近顷,死狀恐怖生音,靈堂內(nèi)的尸體忽然破棺而出宁否,到底是詐尸還是另有隱情窒升,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布慕匠,位于F島的核電站饱须,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏台谊。R本人自食惡果不足惜蓉媳,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望锅铅。 院中可真熱鬧酪呻,春花似錦、人聲如沸盐须。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贼邓。三九已至阶冈,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間塑径,已是汗流浹背女坑。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留统舀,地道東北人匆骗。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像誉简,于是被迫代替她去往敵國和親绰筛。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

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