91 lines
4.0 KiB
Python
91 lines
4.0 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
# File : vqq.py
|
|
# Author: DaShenHan&道长-----先苦后甜,任凭晚风拂柳颜------
|
|
# Date : 2022/10/24
|
|
|
|
import requests
|
|
import re
|
|
|
|
time_out = 2
|
|
cookie = """
|
|
pgv_pvid=5805499462; iip=0; RK=yQaYRyNLbG; ptcz=2a0d041daba2e1e3872184cd999e01bf90678c0e492c5900527c802251d224ad; tvfe_boss_uuid=53b5e88a3ebeba2c; video_platform=2; _tc_unionid=78fa72d7-2485-49f5-abf3-e72f7122cbb5; pgv_pvi=1381712896; logTrackKey=613d40c3fea04aafb45fc9642dd67b99; main_login=qq; vqq_appid=101483052; vqq_openid=406CA2296D6A3B970597D6CF1605B6B7; vqq_vuserid=1260982452; pgv_info=ssid=s1368217315; pac_uid=1_434857005; vversion_name=8.2.95; video_omgid=3419ca23530808d22bb278e881e46647; _qpsvr_localtk=0.710205836458567; vqq_access_token=88AEE1A8BC32318537BC7D81586E44A4; vqq_refresh_token=2D85975A29FB056EB6F9A338CB8F1EF5; o_cookie=434857005; video_guid=3419ca23530808d22bb278e881e46647; video_bucketid=4; fqm_pvqid=0a2a19f9-b09d-48d2-835a-cee916bdb63f; fqm_sessionid=a2c625f7-98e9-4d69-adb4-ad82846832bc; uin=o0434857005; skey=@rZMv3mYSR; vqq_vusession=Xd5bba2m9ByWls30Vi2FSQ.N; vqq_next_refresh_time=6530; vqq_login_time_init=1666665341; login_time_last=2022-10-25 10:35:44
|
|
""".strip()
|
|
|
|
login_token = """
|
|
vqq_appid=101483052; vqq_openid=406CA2296D6A3B970597D6CF1605B6B7; vqq_vuserid=1260982452;vqq_vusession=Xd5bba2m9ByWls30Vi2FSQ.N; vqq_refresh_token=2D85975A29FB056EB6F9A338CB8F1EF5;vqq_next_refresh_time=6530;
|
|
""".strip()
|
|
|
|
auth_token = """
|
|
vqq_appid=101483052; vqq_openid=406CA2296D6A3B970597D6CF1605B6B7; vqq_vuserid=1260982452;vqq_vusession=
|
|
""".strip()
|
|
|
|
user_token = """
|
|
pgv_pvid=5805499462;video_platform=2;o_cookie=434857005;ptui_loginuin=434857005;uid=o0434857005;uin=o0434857005;vqq_vuserid=1260982452;vversion_name=8.2.95;vqq_next_refresh_time=6530;vqq_login_time_init=1666665341; login_time_last=2022-10-25 10:35:44
|
|
""".strip()
|
|
cookie = login_token
|
|
headers = {
|
|
# "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36¬",
|
|
"User-Agent": "qqlive",
|
|
"cookie": cookie,
|
|
}
|
|
def get_vid(vipUrl):
|
|
vid = None
|
|
if vipUrl.find('v.qq.com/x/cover/') > -1:
|
|
_type = vipUrl.split("v.qq.com/x/cover/")[1].split(".html")[0]
|
|
if _type.find('/') > -1:
|
|
vid = _type.split("/")[1]
|
|
else:
|
|
r = requests.get(vipUrl, headers=headers)
|
|
html = r.text
|
|
vid = html.split('<link rel="canonical" href="https://v.qq.com/x/cover/')[1].split('/')[1].split('.')[0]
|
|
else:
|
|
if re.search('/page/.*\.html', vipUrl):
|
|
vid = vipUrl.split("/page/")[1].split(".html")[0]
|
|
else:
|
|
if vipUrl.find('&vid=') > -1:
|
|
vid = vipUrl.split("&vid=")[1].split("&")[0]
|
|
|
|
print(f'vid:{vid}')
|
|
return vid
|
|
|
|
def vqq_jx_rx(url):
|
|
# 1080P画质
|
|
vid = get_vid(url)
|
|
api = f"https://vv.video.qq.com/getinfo?defn=fhd&platform=10801&otype=ojson&sdtfrom=v4138&appVer=7&vid={vid}&newnettype=1&fhdswitch=1&show1080p=1&dtype=3&sphls=2"
|
|
print(api)
|
|
r = requests.get(api, headers=headers, timeout=time_out)
|
|
ret = r.json()
|
|
try:
|
|
urls = ret["vl"]["vi"][0]['ul']['ui']
|
|
# url = urls[-1]['url']
|
|
url = urls[0]['url']
|
|
realUrl = url
|
|
print(realUrl)
|
|
except:
|
|
print(ret)
|
|
|
|
def vqq_jx(url):
|
|
# 720P 画质
|
|
vid = get_vid(url)
|
|
api = f'https://vv.video.qq.com/getinfo?encver=2&defn=shd&platform=10801&otype=ojson&sdtfrom=v4138&appVer=7&dtype=3&vid={vid}&newnettype=1'
|
|
print(api)
|
|
r = requests.get(api,headers=headers,timeout=time_out)
|
|
ret = r.json()
|
|
try:
|
|
urls = ret["vl"]["vi"][0]['ul']['ui']
|
|
print(urls)
|
|
url = urls[-1]['url']
|
|
pt = urls[-1]['hls']['pt']
|
|
realUrl = url + pt
|
|
print(realUrl)
|
|
except:
|
|
print(ret)
|
|
|
|
if __name__ == '__main__':
|
|
# 斗罗大陆
|
|
url = 'https://v.qq.com/x/cover/m441e3rjq9kwpsc/c00442r6ry6.html'
|
|
# 复仇者联盟
|
|
# url = 'https://v.qq.com/x/cover/v2098lbuihuqs11/m00314jtw6k.html'
|
|
# vqq_jx(url)
|
|
vqq_jx_rx(url) |