国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

優(yōu)酷youku 1080P 視頻下載方法

這篇具有很好參考價(jià)值的文章主要介紹了優(yōu)酷youku 1080P 視頻下載方法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

> PC端下載優(yōu)酷視頻方法,以下是優(yōu)酷視頻下載地址解析python腳本?

import re, requests, time, subprocess, json, base64
from hashlib import md5
 
class YouKu:
    def __init__(self, cookie):
        self.cookie = cookie
 
    def youku_sign(self, t, data, token):
        appKey = '24679788'     # 固定值
        '''token值在cookie中'''
        sign = token + '&' + t + '&' + appKey + '&' + data
        md = md5()
        md.update(sign.encode('UTF-8'))
        sign = md.hexdigest()
        return sign
 
    def utid(self):
        cna = re.compile("cna=(.*?);")
        _m_h5_tk = re.compile("_m_h5_tk=(.*?)_.*?;")
        token = _m_h5_tk.findall(self.cookie+";")
        utid_ = cna.findall(self.cookie+";")
        return {"utid": utid_[0], "token": token[0]}
 
    # 若直接在首頁(yè)小窗口上復(fù)制的視頻網(wǎng)址,是重定向的網(wǎng)址。
    def redirect(self, url):
        headers = {
            "referer": "https://www.youku.com/",
            "user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36",
        }
        resp = requests.get(url=url, headers=headers)
        return resp.url
 
    def page_parser(self, url):
        headers = {
            "authority": "v.youku.com",
            "method": "GET",
            "path": url.replace("https://v.youku.com/",""),
            "scheme": "https",
            "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
            "accept-encoding": "gzip, deflate, br",
            "accept-language": "zh-CN,zh;q=0.9",
            "cache-control": "max-age=0",
            "cookie": self.cookie,
            "referer": "https://www.youku.com/",
            "sec-fetch-dest": "document",
            "sec-fetch-mode": "navigate",
            "sec-fetch-site": "none",
            "sec-fetch-user": "?1",
            "upgrade-insecure-requests": "1",
            "user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36",
        }
        resp = requests.get(url=url, headers=headers)
        html = resp.content.decode("utf-8")
        # print(html)
        videoId = re.compile("videoId: '(.*?)'")
        showid = re.compile("showid: '(.*?)'")
        currentEncodeVid = re.compile("currentEncodeVid: '(.*?)'")
        videoId = videoId.findall(html, re.S | re.M | re.I)
        current_showid = showid.findall(html, re.S | re.M | re.I)
        vid = currentEncodeVid.findall(html, re.S | re.M | re.I)
        return {"current_showid": current_showid[0], "videoId": videoId[0], "vid": vid[0]}
 
    def get_emb(self, videoId):
        emb = base64.b64encode(("%swww.youku.com/" % videoId).encode('utf-8')).decode('utf-8')
        return emb
 
    # 這個(gè)函數(shù)用來獲取元素的第一個(gè)值
    def takeOne(self, elem):
        return float(elem[0])
 
    def m3u8_url(self, t, params_data, sign):
        url = "https://acs.youku.com/h5/mtop.youku.play.ups.appinfo.get/1.1/"
 
        params = {
            "jsv": "2.5.8",
            "appKey": "24679788",
            "t": t,
            "sign": sign,
            "api": "mtop.youku.play.ups.appinfo.get",
            "v": "1.1",
            "timeout": "20000",
            "YKPid": "20160317PLF000211",
            "YKLoginRequest": "true",
            "AntiFlood": "true",
            "AntiCreep": "true",
            "type": "jsonp",
            "dataType": "jsonp",
            "callback": "mtopjsonp1",
            "data": params_data,
        }
 
        headers = {
            "Accept": "*/*",
            "Accept-Encoding": "gzip, deflate, br",
            "Accept-Language": "zh-CN,zh;q=0.9",
            "Connection": "keep-alive",
            "Cookie": self.cookie,
            "Host": "acs.youku.com",
            "Referer": "https://v.youku.com/v_show/id_XNTA1MTYwMzU0OA==.html?spm=a2h0c.8166622.PhoneSokuUgc_3.dscreenshot",
            "Sec-Fetch-Dest": "script",
            "Sec-Fetch-Mode": "no-cors",
            "Sec-Fetch-Site": "same-site",
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36",
        }
 
        resp = requests.get(url=url, params=params, headers=headers)
        result =resp.text
        # print(result)
        data = json.loads(result[12:-1])
        # print(data)
        ret = data["ret"]
        video_lists = []
        if ret == ["SUCCESS::調(diào)用成功"]:
            stream = data["data"]["data"]["stream"]
            title = data["data"]["data"]["video"]["title"]
            print("解析成功:")
            for video in stream:
                m3u8_url = video["m3u8_url"]
                width = video["width"]
                height = video["height"]
                size = video["size"]
                size = '{:.1f}'.format(float(size) / 1048576)
                video_lists.append([size, width, height, title, m3u8_url])
                # print(f">>>  {title} 分辨率:{width}x{height} 視頻大小:{size}M \tm3u8播放地址:{m3u8_url}")
 
            video_lists.sort(key=self.takeOne)
            for video_list in video_lists:
                print(f">>>  {title} 分辨率:{video_list[1]}x{video_list[2]} 視頻大小:{video_list[0]}M \tm3u8播放地址:{video_list[4]}")
            self.play(video_lists[-1][4])    # 選擇播放列表最后一個(gè)視頻(經(jīng)過sort排序后,最后一個(gè)即為清晰度最高的一個(gè))
        elif ret == ["FAIL_SYS_ILLEGAL_ACCESS::非法請(qǐng)求"]:
            print("請(qǐng)求參數(shù)錯(cuò)誤")
        elif ret == ["FAIL_SYS_TOKEN_EXOIRED::令牌過期"]:
            print("Cookie過期")
        else:
            print(ret[0])
 
 
    def play(self, x):
        #text = 'ffplay -protocol_whitelist "file,http,https,rtp,udp,tcp,tls" -loglevel quiet -i "%s"' % x
        #subprocess.call(text, shell=True)
        print('開啟播放器')
 
    def start(self):
        t = str(int(time.time() * 1000))
        user_info = self.utid()
        userid = user_info["utid"]
        url = input("請(qǐng)將優(yōu)酷視頻播放鏈接粘貼到這:\n")
        url = self.redirect(url)
        page_info = self.page_parser(url)
        emb = self.get_emb(page_info["videoId"])
        params_data = r'''{"steal_params":"{\"ccode\":\"0502\",\"client_ip\":\"192.168.1.1\",\"utid\":\"%s\",\"client_ts\":%s,\"version\":\"2.1.69\",\"ckey\":\"DIl58SLFxFNndSV1GFNnMQVYkx1PP5tKe1siZu/86PR1u/Wh1Ptd+WOZsHHWxysSfAOhNJpdVWsdVJNsfJ8Sxd8WKVvNfAS8aS8fAOzYARzPyPc3JvtnPHjTdKfESTdnuTW6ZPvk2pNDh4uFzotgdMEFkzQ5wZVXl2Pf1/Y6hLK0OnCNxBj3+nb0v72gZ6b0td+WOZsHHWxysSo/0y9D2K42SaB8Y/+aD2K42SaB8Y/+ahU+WOZsHcrxysooUeND\"}","biz_params":"{\"vid\":\"%s\",\"play_ability\":16782592,\"current_showid\":\"%s\",\"preferClarity\":99,\"extag\":\"EXT-X-PRIVINF\",\"master_m3u8\":1,\"media_type\":\"standard,subtitle\",\"app_ver\":\"2.1.69\",\"h265\":1}","ad_params":"{\"vs\":\"1.0\",\"pver\":\"2.1.69\",\"sver\":\"2.0\",\"site\":1,\"aw\":\"w\",\"fu\":0,\"d\":\"0\",\"bt\":\"pc\",\"os\":\"win\",\"osv\":\"10\",\"dq\":\"auto\",\"atm\":\"\",\"partnerid\":\"null\",\"wintype\":\"interior\",\"isvert\":0,\"vip\":1,\"emb\":\"%s\",\"p\":1,\"rst\":\"mp4\",\"needbf\":2,\"avs\":\"1.0\"}"}'''% (userid, t[:10], page_info["vid"], page_info["current_showid"], emb)
        sign = self.youku_sign(t, params_data, user_info["token"])
        self.m3u8_url(t, params_data, sign)
 
if __name__ == '__main__':    # 首先在這里設(shè)置自己的cookie  非vip只能解析到免費(fèi)視頻。 
    cookie = 'cna=hXDyGqtYgloCAW887r8gThdy; _m_h5_tk=ad861ebf4756a39bbf90ca837ba6cec5_1660894819245; _m_h5_tk_enc=5175f8feb05a54b29d1eedaa0cfdf623; __ysuid=16608903198401Ay; __ayft=1660890319842; __aysid=1660890319842GSn; __ayscnt=1; modalFrequency={"UUID":"10"}; xlly_s=1;'
    youku = YouKu(cookie)
    youku.start()

1. 登錄優(yōu)酷 ,按F12獲取你登錄后的COOKIE,將自己的COOKIE替換掉源代碼中的COOKIE

優(yōu)酷youku 1080P 視頻下載方法

?文章來源地址http://www.zghlxwxcb.cn/news/detail-508457.html

2. 運(yùn)行這個(gè)python,將youku的播放URL地址復(fù)制進(jìn)去 就可以獲取到視頻1080P的M3U8下載鏈接

優(yōu)酷youku 1080P 視頻下載方法

?3. 在52pojie找到 "M3U8批量下載器"? ,使用M3U8下載器將視頻下載回來,

優(yōu)酷youku 1080P 視頻下載方法

?

到了這里,關(guān)于優(yōu)酷youku 1080P 視頻下載方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 手機(jī)瀏覽器怎么下載視頻,第三方手機(jī)瀏覽器下載視頻的方法

    手機(jī)瀏覽器怎么下載視頻,第三方手機(jī)瀏覽器下載視頻的方法

    在我們的手機(jī)中,總少不了一款手機(jī)瀏覽器。很多人經(jīng)常使用手機(jī)瀏覽器看視頻,那么如何在網(wǎng)頁(yè)中將喜歡的視頻下載下載下來呢?下面給大家講解UC瀏覽器、多御安全瀏覽器、QQ瀏覽器下載視頻的方法,有需要的朋友可以繼續(xù)往下看。 ? UC瀏覽器下載視頻的方法 1、打開手機(jī)

    2024年02月08日
    瀏覽(99)
  • 怎么下載抖音視頻無水印?教你三個(gè)無水印下載抖音視頻方法

    怎么下載抖音視頻無水印?教你三個(gè)無水印下載抖音視頻方法

    怎么下載抖音視頻無水印?抖音已經(jīng)成為了我們?nèi)粘I钆c工作的無法割舍的一部分,每天數(shù)以億計(jì)的用戶在進(jìn)行創(chuàng)作分享。在這個(gè)平臺(tái)上,用戶可以通過自己的所見所想進(jìn)行創(chuàng)作和分享記錄美好瞬間。然而,有些用戶希望能夠?qū)⒆约合矚g的抖音視頻保存到相冊(cè)中,以便隨時(shí)

    2024年02月03日
    瀏覽(30)
  • AX7A200教程(8): HDMI輸入和輸出顯示1080p視頻

    AX7A200教程(8): HDMI輸入和輸出顯示1080p視頻

    本章節(jié)主要將hdmi輸入的1080p視頻通過ddr3緩存,然后通過hdmi輸出口輸出到顯示屏上顯示 設(shè)置讀寫突發(fā)長(zhǎng)度為64 1.突發(fā)寫命令 當(dāng)寫fifo計(jì)數(shù)器rd_data_count計(jì)數(shù)大于62,執(zhí)行一次寫突發(fā)命令,拉高wr_len_en 2.突發(fā)讀命令 當(dāng)讀fifo計(jì)數(shù)器wr_data_count小于等于64執(zhí)行一次讀突發(fā)命令,拉高rd_

    2024年02月14日
    瀏覽(19)
  • 國(guó)外網(wǎng)站視頻下載方法通通告訴你

    國(guó)外網(wǎng)站視頻下載方法通通告訴你

    有朋友留言說不知道怎么下載視頻,看來大家很著急,我之前也答應(yīng)大家分享國(guó)外網(wǎng)站如何下載視頻,今天跟大家分享這些方法。 關(guān)于國(guó)外視頻下載的方法有很多種,今天給大家介紹的是常用的一些方法。 之前有粉絲留言說國(guó)外視頻的下載并不難,他說的也沒錯(cuò),你學(xué)了之

    2023年04月09日
    瀏覽(27)
  • 視頻號(hào)下載保姆級(jí)攻略:五大神級(jí)下載方法揭秘!

    視頻號(hào)下載保姆級(jí)攻略:五大神級(jí)下載方法揭秘!

    今天我要和大家聊聊一個(gè)非常有趣的話題,那就是如何下載視頻號(hào)的視頻。據(jù)我所知雖然很多人都知道視頻號(hào),但卻不知道如何玩好視頻號(hào),以及怎么下載視頻,我知道有些朋友可能對(duì)這個(gè)話題還不太了解,但是我相信,只要你耐心看完這篇文章,你就能掌握所有的下載技巧

    2024年01月22日
    瀏覽(18)
  • AIGC領(lǐng)域又有大動(dòng)作了!AI視頻“黑馬”Morph Studio 來襲,1080P高清畫質(zhì)視頻免費(fèi)生成!

    AIGC領(lǐng)域又有大動(dòng)作了!AI視頻“黑馬”Morph Studio 來襲,1080P高清畫質(zhì)視頻免費(fèi)生成!

    起初小編也不知道 Morph Studio ,也是從AIGC美少女、AI電影導(dǎo)演 海辛Hyacinth 口中知曉,因?yàn)樗?024年剛加入了 Morph Studio公司。 廢話不多數(shù),接下來小編則為大家介紹下 Morph Studio 這個(gè)初創(chuàng)公司開發(fā)了一個(gè)什么樣的產(chǎn)品,而引起了大家的興致。 它做了什么,得到了廣泛關(guān)注與產(chǎn)

    2024年02月19日
    瀏覽(16)
  • Clip Converter - 視頻在線下載方法

    Clip Converter - 視頻在線下載方法

    YT to MP4 MP3 Converter! https://www.clipconverter.cc/ Clip Converter is a free online media conversion application, which allows you to reocord, convert and download nearly any audio or video URL to common formats. How to convert and download a YT video: Paste your YT URL at ‘Video URL’ and press Continue. Select the format (MP3, MP4, M4A) and the quali

    2024年04月17日
    瀏覽(27)
  • 抖音視頻如何下載保存(方法分享)

    有時(shí)刷抖音視頻,看的喜歡的視頻想要下載到本地,但是有很多視頻無法下載或者下載下來是有水印的,那怎么辦呢? 抖音視頻下載有兩種情況: 一種是可以直接點(diǎn)擊分享下載,然后可以直接點(diǎn)擊保存到相冊(cè)。 視頻就自動(dòng)下載下來了,但是這直接下載下來的視有水印。 還有

    2024年04月14日
    瀏覽(21)
  • 下載YouTube視頻的一種方法

    下載YouTube視頻的一種方法

    yt-dlp 安裝Python環(huán)境 pip install yt-dlp 默認(rèn)格式,高于720P的格式一般是 webm 格式 yt-dlp https://youtu.be/sKrT6mBrosc 下載視頻轉(zhuǎn)換成mp4(用–merge-output-format參數(shù)) yt-dlp –merge-output-format mp4 https://youtu.be/sKrT6mBrosc 1.只下載音頻 找m4a格式,列表越靠后越清晰。比如ID:140 | EXT:m4a | audio onl

    2024年02月13日
    瀏覽(23)
  • idm無法下載受保護(hù)的視頻解決方法

    ? idm是一個(gè)將下載速度提高多達(dá)5倍,恢復(fù)和提高下載進(jìn)度的工具,可以下載網(wǎng)頁(yè)上的視頻資源等等。 根據(jù)提示安裝文件即可。 idm下載地址 在下載很多視頻的過程中,可能會(huì)出現(xiàn)idm無法下載受保護(hù)的視頻,此時(shí)可以使用下載m3u8解析軟件來解決。 m3u8下載地址 1、在頁(yè)面中的視

    2024年04月26日
    瀏覽(59)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包