美拍視頻的地址解析下載

以美拍視頻播放頁URL http://www.meipai.com/media/596371059 為例,來說說如何得到真實(shí)的視頻地址。

在瀏覽器中打開上述播放頁URL,然后在頁面空白處右鍵單擊彈出一個(gè)菜單,接著點(diǎn)擊菜單中的“顯示網(wǎng)頁源代碼”。在網(wǎng)頁源代碼中,我們就可以找到視頻的真實(shí)地址了,如下圖所示:

美拍視頻真實(shí)地址示例

自動(dòng)提取美拍視頻真實(shí)地址的Python腳本如下:

import requests
from pyquery import PyQuery as pq

r = requests.get('http://www.meipai.com/media/596371059')
d = pq(r.content)
print d('meta[property="og:video:url"]').attr('content')

2017年3月23日更新:
前面提取到的不再是真實(shí)地址,而是加密字符串。其解密方法如下,解密就可以得到真實(shí)地址:

import base64

def decode(encoded_string):
    def getHex(param1):
        return {
            'str': param1[4:],
            'hex': ''.join(list(param1[:4])[::-1]),
        }

    def getDec(param1):
        loc2 = str(int(param1, 16))
        return {
            'pre': list(loc2[:2]),
            'tail': list(loc2[2:]),
        }

    def substr(param1, param2):
        loc3 = param1[0: int(param2[0])]
        loc4 = param1[int(param2[0]): int(param2[0]) + int(param2[1])]
        return loc3 + param1[int(param2[0]):].replace(loc4, "")

    def getPos(param1, param2):
        param2[0] = len(param1) - int(param2[0]) - int(param2[1])
        return param2

    dict2 = getHex(encoded_string)
    dict3 = getDec(dict2['hex'])
    str4 = substr(dict2['str'], dict3['pre'])
    return base64.b64decode(substr(str4, getPos(str4, dict3['tail'])))

版權(quán)聲明
本文中的代碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容