demo.py
# !user/bin/env python3
# -*-coding: utf-8 -*-
__author__ = '闻名'
import requests
import re
import execjs
import base64
session = requests.session()
response = session.get(url='https://www.meipai.com/media/1176546453').text
# print(response)
data_video = re.findall(r'data-video="(.*?)">', response)[0]
# print(data_video)
with open('index.js') as f:
js_data = f.read()
ctx = execjs.compile(js_data)
# print(ctx.call('decode', data_video))
print(base64.b64decode(ctx.call('decode', data_video)).decode()[2:])
index.js
var h = "substring",
i = "split",
j = "replace",
k = "substr";
function getHex(a) {
return {
str: a[h](4),
hex: a[h](0, 4)[i]("").reverse().join("")
}
}
function getDec(a) {
var b = parseInt(a, 16).toString();
return {
pre: b[h](0, 2)[i](""),
tail: b[h](2)[i]("")
}
}
function substr(a, b) {
var c = a[h](0, b[0]),
d = a[k](b[0], b[1]);
return c + a[h](b[0])[j](d, "")
}
function getPos(a, b) {
return b[0] = a.length - b[0] - b[1],
b
}
function decode(a) {
var b = getHex(a),
c = getDec(b.hex),
d = substr(b.str, c.pre);
return substr(d, getPos(d, c.tail))
}