2017年6月24日 星期六

用 LINE-Bot 下載 musical.ly 高清影片


女兒近兩個月來愛上玩 musical.ly 這個應用程式,拍了很多音樂影片。作為爸爸,很想保留她的成長片段,於是研究了一下。

試過用 Charles Proxy 作為中間人觀看影片流量,想從中找出影片的路徑;也是過把 iPhone 連接 iTunes,希望應用程式能把下載的影片分享到 iTunes,可惜沒有;用了好幾個方法也找不到。後來發現 musical.ly 自帶的分享到電郵功能,不過片中會加入帳號名字,且影片比原來的小,變成 480x852;但如果分享到 LINE 或 Copy Link 的話,則會是轉介到網頁畫面,內裡的影片沒有帳號名字之餘,解像度達 540x960。

要找出影片檔案,只要在網頁上的影片位置點擊滑鼠右鍵,選「Inspect」後會彈出視窗,反白了的文字。下方能發現影片的 MP4 地址:

於是我把女兒的影片,一個一個地分享到 LINE,慢慢地找出 MP4 地址,再一段一段地貼到瀏覽器的地址列並下載。

可是,這個方法太慢,女兒有些影片轉頭便刪了,就算的得到地址也無法下載。於是,我想到把下載影片的工作自動化;只要分享到 LINE 入面,我之前寫好的 Sita LINE-Bot,她便自動為我下載。要達到這個目的,得找出影片地址的方法。在 Chrome 中打開開發人員工具,觀察載入地址,會發現「https://www.musical.ly/rest/v2/musicals/shareInfo?key=Mzg4MTEyND...」這個連線;key 後面的就是影片分享地址中的 HTML 名字。觀看這個連線內容,看到 MP4 的實際地址:

於是我把 LINE-Bot 收到訊息的程式改了一下,只要是 musical.ly 的地址,便假設是影片分享,把地址的 HTML 名字解拆出來,然後加在「https://www.musical.ly/rest/v2/musicals/shareInfo?key=」後面,繼而讀取新地址內容;再把新內容的 JSON 解開,根據 videoUri 的地址進行下載。結果非常成功,以後我只要把影片地址分享到 LINE-Bot,Sita 便會自動下載影片。

沒有留言: