以美拍視頻播放頁URL http://www.meipai.com/media/596371059 為例,來說說如何得到真實(shí)的視頻地址。
在瀏覽器中打開上述播放頁URL,然后在頁面空白處右鍵單擊彈出一個菜單,接著點(diǎn)擊菜單中的“顯示網(wǎng)頁源代碼”。在網(wǎng)頁源代碼中,我們就可以找到視頻的真實(shí)地址了,如下圖所示:
美拍視頻真實(shí)地址示例
自動提取美拍視頻真實(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)聲明
本文中的代碼