日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

网易云课堂视频下载

發布時間:2023/12/31 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网易云课堂视频下载 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 通過網絡分析找到視頻的網址

?

?

2源代碼如下:

import requests import osimport optparseheaders = {"User - Agent": "Mozilla / 5.0(Windows NT 10.0;WOW64) AppleWebKit / 537.36(KHTML, like Gecko) Chrome / 84.0.4147.105 Safari / 537.36"}def down_load_ts(url,pathname):basepath = os.path.join(os.getcwd(),pathname)if not os.path.exists(basepath):os.mkdir(basepath)try:req = requests.get(url,headers=headers)#print(req.text)file_line_list = req.text.split('\n')if not "#EXTM3U" in file_line_list[0]:raise BaseException(u'非M3U8的連接')else:unknow = Truefile_index=100000for index,line in enumerate(file_line_list):if "#EXTINF" in line:unknow = Falseurl_ts = str(url).rsplit('/',1)[0] +'/'+ str(file_line_list[index+1])#下載文件名重新編號,以防合并是造成文件順序混亂file_name = str(file_index)+'.ts'file_index+=1full_file_name =os.path.join(basepath,file_name)# print(url_ts)process_ts(url_ts, full_file_name)if unknow:raise BaseException('未找到對應的下載連接')else:print(pathname,':downloaded')print("start merge file to mp4")mergeFileToMP4(pathname)returnexcept Exception as e:print(e)returndef process_ts(url_ts,full_file_name):req_ts = requests.get(url_ts, headers=headers)print("downloading file:", os.path.split(full_file_name)[1])with open(full_file_name, 'ab') as fw:fw.write(req_ts.content)fw.flush()def mergeFileToMP4(pathname):os.chdir(os.path.join(os.getcwd(),pathname))cmd = "copy /b * new.tmp"os.system(cmd)os.system('del /Q *.ts')os.system('del /Q *.mp4')os.rename("new.tmp", "new.mp4")print("merge file is :",str(os.path.join(os.getcwd(),pathname,"new.mp4")))def main():# parser = optparse.OptionParser("usage -n <pathname> -u <m3u8 url> -h <help>\n")# parser.add_option('-n',dest = "pathname",type ="string",help="specify a save path name")# parser.add_option('-u',dest='url',type='string',help="specify a m3u8 url")# (options,args)= parser.parse_args()# pathname = options.pathname# url = options.url# if (pathname ==None) or (url == None):# print(parser.usage)# returnurl = 'https://jdvodluwytr3t.1217106454_a7850079a3ed43f29c6f4169201b4893_sd.m3u8?'pathname = '163nixiang-1'down_load_ts(url=url,pathname=pathname)if __name__ == '__main__':main()

?

注:在ts文件進行合并為mp4文件時沒有問題,但合成的文件就不能播放,通過多次測試發現,是下載的ts文件因為文件名拍訊的問題,例如 d99.ts? d100.ts d990.ts 三個文件,在進行合并是,d99.ts 會排在100之后跟d990.ts一起,因此對下載文件重新進行了編號,問題解決。

總結

以上是生活随笔為你收集整理的网易云课堂视频下载的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。