#脚本说明
使用DOCKER的无头浏览器访问页面内容,grep正则匹配视频真实地址
需要安装docker
#源码
from flask import Flask, request, jsonify
import subprocess
app = Flask(__name__)
@app.route('/', methods=['GET'])
def get_bd_url():
bd_url = request.args.get('bd_url')
if bd_url:
try:
command = f"docker container run --rm zenika/alpine-chrome --no-sandbox --dump-dom '{bd_url}' | grep -oP 'playurl\":\"\\K[^\"]*'"
result = subprocess.check_output(command, shell=True, text=True)
#把result中的\/改成/
result = result.replace('\/','/')
return jsonify({'result': result.strip()})
except subprocess.CalledProcessError as e:
return jsonify({'error': str(e)}), 500
else:
return "404 Not Found", 404
if __name__ == '__main__':
app.run(host='0.0.0.0', port=9999)
#使用方法
http://127.0.0.1:9999/bd_url=https://mr.baidu.com/r/1v1XMPOz33i?f=cp&rs=71727287&ruk=evyGqF9PA8_nKaiZkgB_Vg&u=c58d88a407697b76&sid_for_share=99125_3