视频网站地址解析下载

美拍视频的地址解析下载

2016-10-31  本文已影响1451人  Maslino

以美拍视频播放页URL http://www.meipai.com/media/596371059 为例,来说说如何得到真实的视频地址。

在浏览器中打开上述播放页URL,然后在页面空白处右键单击弹出一个菜单,接着点击菜单中的“显示网页源代码”。在网页源代码中,我们就可以找到视频的真实地址了,如下图所示:

美拍视频真实地址示例

自动提取美拍视频真实地址的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日更新:
前面提取到的不再是真实地址,而是加密字符串。其解密方法如下,解密就可以得到真实地址:

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'])))

版权声明
本文中的代码

上一篇下一篇

猜你喜欢

热点阅读