僅限于學(xué)習(xí)交流,請(qǐng)勿用于非法用途,否則產(chǎn)生的后果與本人無(wú)關(guān)!
還有,年輕人請(qǐng)培養(yǎng)高尚的情操
周末晚上,看到群里這么一條消息
?心想這他喵的什么嬌貴視頻,還值50塊錢(qián)1條,所以就好奇點(diǎn)擊了鏈接看了下
好家伙,差點(diǎn)流鼻血了
?這少兒不宜的畫(huà)面,,,,,,
后來(lái)發(fā)布這個(gè)信息的兄弟馬上就被群主給踢了,給群主點(diǎn)贊,哈哈哈哈
隨便點(diǎn)點(diǎn)發(fā)現(xiàn)基本上都是會(huì)員才能觀看,比較好奇,想著看能不能找找什么bug之類(lèi)的,就有了下面的故事
首先是要登錄,這里就隨便注冊(cè)了一個(gè)賬號(hào)(這里注冊(cè)賬號(hào)是需要用到郵箱,但是他沒(méi)有進(jìn)行驗(yàn)證,因此隨便輸入個(gè)郵箱便完成了注冊(cè))
發(fā)現(xiàn)基本上都是要充錢(qián)才能觀看:
點(diǎn)擊試看也只有大約30秒左右的時(shí)間:
然后在點(diǎn)擊試看的時(shí)候抓包發(fā)現(xiàn)有趣的參數(shù):
?這里有個(gè)segments,據(jù)我所知,中文意思是片段,那就把它改空,然后發(fā)過(guò)去
我去,就很離譜。。。。。
好的,50塊錢(qián)1條的視頻就免費(fèi)搞定了。
我以為我要收工了,突然發(fā)現(xiàn),這是沒(méi)有下載鏈接的,想到最近學(xué)習(xí)的爬蟲(chóng),就興趣來(lái)了研究研究是如何下載
百度一下發(fā)現(xiàn)這種是動(dòng)態(tài)加載ts文件來(lái)顯示,請(qǐng)求完不停的加載ts片段來(lái)執(zhí)行播放動(dòng)作
?因此重新編輯請(qǐng)求重發(fā),修改segments參數(shù)
?可以看到響應(yīng)的文件大小不一樣了,已經(jīng)加載出了全部的ts 片段地址
但是下載單個(gè)ts文件后發(fā)現(xiàn)內(nèi)容被加密了,無(wú)法直接播放,可以看出這里是加密了的,但是這里的key的地址卻暴露了
?接著就是批量下載并解密,然后將所有的解密后ts文件進(jìn)行合并
# 作者:juju# 日期:2021/9/27 18:57import osimport requestsfrom Cryptodome.Cipher import AESdef get_ts_key(url): # 獲取ts片段和key headers = { "User-Agent": "Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2", "Connection": "keep-alive", "Upgrade-Insecure-Requests": "1", "Sec-Fetch-Dest": "document", "Sec-Fetch-Mode": "navigate", "Sec-Fetch-Site": "none", "Sec-Fetch-User": "?1", } response = requests.get(url=url, headers=headers) return response.contentif __name__ == "__main__": url = "*********************************" # 解析獲取的m3u8文件 with open(r"C:/Users/juju/Desktop/result.txt", "rb+") as f: txt = f.readlines() f.close() os.chdir(r"C:/Users/juju/Desktop/new") urls = [] key = "" # 下載key并初始化解密 for line in txt: # print(type(line)) if "URI" in line.decode(): key = line.decode().split(",")[1].split(""")[1] key = get_ts_key(url+key) cryptor = AES.new(key=key, mode=AES.MODE_CBC) break # 提取全部ts鏈接 for line in txt: if line.decode()[0] == "/": urls.append(line.decode().replace("/r/n", "")) # 將全部提取的ts鏈接寫(xiě)到本地 for i, line in enumerate(urls[:40]): with open(str(i + 1) + ".ts", "wb") as file: file.write(cryptor.decrypt(get_ts_key(url+line))) # 將解密后的視頻寫(xiě)入文件 print("正在寫(xiě)入第{}個(gè)文件".format(i + 1)) # 將全部ts片段寫(xiě)入本地mp4文件 target = open(r"C:/Users/juju/Desktop/new.mp4", "ab+") # 依次將數(shù)據(jù)寫(xiě)入目標(biāo)文件 for i, temp in enumerate(os.listdir(r"C:/Users/juju/Desktop/new")): print("正在合并第{}個(gè)文件".format(i + 1)) temp_file = open(str(i+1) + ".ts", "rb+") target.write(temp_file.read()) temp_file.close() target.close()
因?yàn)橹皇菧y(cè)試代碼,所以就限定了部分片段
?
?
可以看到全部已經(jīng)合成完畢
結(jié)束
本次記錄僅用來(lái)探討學(xué)習(xí)相關(guān)技術(shù),請(qǐng)勿從事其他非法活動(dòng)。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/121546.html
摘要:如何選擇穩(wěn)定的和實(shí)用的空間是每個(gè)消費(fèi)者心中最滿(mǎn)意產(chǎn)品。三網(wǎng)頁(yè)制作上面兩步做好之后最重要的就是如何規(guī)劃好自己的網(wǎng)站做個(gè)好的網(wǎng)站。 現(xiàn)在制作一個(gè)網(wǎng)站已經(jīng)越來(lái)越容易了,只要知道清晰的流程之后都是可以很快的建好一個(gè)企業(yè)或者個(gè)人網(wǎng)站的!免費(fèi)的建站程序很多,下面聽(tīng)哥給你亮出來(lái),建站一般來(lái)說(shuō)分主要有這四步:申請(qǐng)域名、申請(qǐng)?zhí)摂M主機(jī)、制作網(wǎng)頁(yè),網(wǎng)站宣傳推廣! 一;域名注冊(cè) 選個(gè)好的域名是一個(gè)成功網(wǎng)站的開(kāi)...
摘要:租用海外服務(wù)器要多少錢(qián)關(guān)鍵在于你的網(wǎng)站類(lèi)型像普遍的個(gè)人網(wǎng)站或是僅做展示型的企業(yè)網(wǎng)站,需要的配置不需要太高,早期可以使用海外云服務(wù)器,年下來(lái)可能也就一兩千,再簡(jiǎn)單些的,幾百元就能搞定。 近些年,互聯(lián)網(wǎng)獲客成本也越來(lái)越高,再加上新冠疫情對(duì)線(xiàn)下實(shí)體行業(yè)的嚴(yán)厲打擊,線(xiàn)上獲客成本中的海外服務(wù)器成本更加引人注意。影響到海外服務(wù)器租用價(jià)格的基本原因便是配置了,隨后便是海外服務(wù)...
摘要:與類(lèi)型庫(kù)相比,設(shè)計(jì)模式是一個(gè)更為普遍的概念。是在年,由建筑設(shè)計(jì)大師亞力山大建筑的永恒之道描述模式是一條由三部分組成的通過(guò)規(guī)則它表示了一個(gè)特定環(huán)境一類(lèi)問(wèn)題和一個(gè)解決方案之間的關(guān)系。設(shè)計(jì)模式是在這方面開(kāi)始探索的一塊里程碑。 設(shè)計(jì)模式并非類(lèi)庫(kù) 為了方便地編寫(xiě)java程序,我們會(huì)使用類(lèi)庫(kù),但設(shè)計(jì)模式不是類(lèi)庫(kù)。 與類(lèi)型庫(kù)相比,設(shè)計(jì)模式是一個(gè)更為普遍的概念。類(lèi)庫(kù)是由程序組合...
摘要:為啥你天天刷抖音一點(diǎn)都不煩,因?yàn)槟阌X(jué)得視頻好看你有興趣啊。比如我們說(shuō)你玩是不是要開(kāi)始搭建一個(gè)自己的網(wǎng)站,是不是可以自己寫(xiě)一個(gè)小的腳本來(lái)自動(dòng)發(fā)消息給你的女朋友等等,通過(guò)這樣的小例子來(lái)慢慢的培養(yǎng)自己的學(xué)習(xí)的興趣。學(xué)習(xí),切勿貪快貪多。 大家好,我是菜鳥(niǎo)哥! 周末啦,跟大家聊一下我們粉絲團(tuán)的情況...
摘要:不過(guò)最大的好處就是用在流體布局上,可以通過(guò)計(jì)算得到元素的寬度。于是,就是瀏覽器滾動(dòng)條的寬度大小如果有,如果沒(méi)有滾動(dòng)條則是左右都有一個(gè)滾動(dòng)條寬度或都是被占用,主體內(nèi)容就可以永遠(yuǎn)居中瀏覽器啦,從而沒(méi)有任何跳動(dòng)參考的使用 什么是calc()? calc()從字面我們可以把他理解為一個(gè)函數(shù)function。其實(shí)calc是英文單詞calculate(計(jì)算)的縮寫(xiě),是css3的一個(gè)新增的功能,用來(lái)...
閱讀 2140·2023-04-26 02:19
閱讀 1928·2021-11-19 09:40
閱讀 1713·2021-09-29 09:35
閱讀 3584·2021-09-29 09:34
閱讀 4345·2021-09-07 10:16
閱讀 5564·2021-08-11 11:14
閱讀 3593·2019-08-30 15:54
閱讀 1640·2019-08-30 15:53