突发奇想,想下载谌龙的比赛的视频,因为资源少,怕以后找不到了,所以想下载留个纪念。
网上找了不少方法,最后成功能下载了,但是下载的有点慢。
主要代码
import requests
import json
import re
import tqdm
headers = {
'Referer': 'https://v.qq.com/',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36'
}
url = 'https://vd6.l.qq.com/proxyhttp' #这个地方要根据视频更改
#data里面的内容是(网络-负载)
data = {"adparam":"adType=preAd&vid=z0040h5y12l&sspKey=phus",
"buid":"vinfoad",
"sspAdParam":"{\"ad_scene\":1,\"pre_ad_params\":{\"ad_scene\":1,\"user_type\":0,\"video\":{\"base\":{\"vid\":\"z0040h5y12l\",\"cid\":\"mzc00200c7217w6\"},\"is_live\":false,\"type_id\":4,\"referer\":\"\",\"url\":\"https://v.qq.com/x/cover/mzc00200c7217w6/z0040h5y12l.html\",\"flow_id\":\"c9c280caacbe397e4cfcaf4b7cac93fd\",\"refresh_id\":\"3933de767de03c98c7b5eef1b95cce86_1727256894\",\"fmt\":\"fhd\"},\"platform\":{\"guid\":\"d100acff3b2fe022\",\"channel_id\":0,\"site\":\"web\",\"platform\":\"in\",\"from\":0,\"device\":\"pc\",\"play_platform\":10201,\"pv_tag\":\"cn_bing_com\",\"support_click_scan_integration\":true,\"qimei32\":\"66c9adefa1e14dd7594a6ad4ebd58574\"},\"player\":{\"version\":\"1.35.6\",\"plugin\":\"3.5.23\",\"switch\":1,\"play_type\":\"0\"},\"token\":{\"type\":2,\"vuid\":1048222535,\"vuser_session\":\"S8MFYd8xM08MnLzeMxehgw.M\",\"app_id\":\"wx5ed58254bc0d6b7f\",\"open_id\":\"ox8XOvj7XnSKbxbRFNcSQGiCjt6c\",\"access_token\":\"84_01UB8IAcIpwAefA_6LxidAMs2VPHiBmwIOXtev_5g7PVxMEnK5Ej6IU1BcNNBUPaKLX5bROXFKVH8BqUwy5i4ETD4d9UWha0CF-crgEQ-fQ\"},\"req_extra_info\":{\"now_timestamp_s\":1727256908,\"ad_frequency_control_time_list\":{\"full_pause_short_bid_forbid_cid\":{\"ad_frequency_control_time_list\":[1727245830]},\"full_pause_short_bid_forbid_vid\":{\"ad_frequency_control_time_list\":[1727245830]},\"full_pause_short_vip_bid\":{\"ad_frequency_control_time_list\":[1727245830]},\"full_pause_feed_back_bid\":{\"ad_frequency_control_time_list\":[1727245854]},\"full_pause_feedback_bid_successive\":{\"ad_frequency_control_time_list\":[1727245854]}}},\"extra_info\":{}}}",
"vinfoparam":"charge=0&otype=ojson&defnpayver=3&spau=1&spaudio=0&spwm=1&sphls=2&host=v.qq.com&refer=https%3A%2F%2Fv.qq.com%2Fx%2Fcover%2Fmzc00200c7217w6%2Fz0040h5y12l.html&ehost=https%3A%2F%2Fv.qq.com%2Fx%2Fcover%2Fmzc00200c7217w6%2Fz0040h5y12l.html&sphttps=1&encryptVer=9.2&cKey=ZGRE2MBGbEe1EM1Orq2-LnCjnpb8Ocr0cPTfNxSezEul_f4uOWcoV2JGR8Gi77I5PQsGz0UNymoKCp7VHCeQghpmp7rG5tiHjLv_PnnatnPaZfOXktuBpd_Im7lpptOC3137_IMO4ZljFjOj-NmZhE-NjjawCzIdF66cdsFdzz5jk70UOmynTHDptaxqIemxrSlkg-M_BbDaBoWksGXkUJYnQqXKgvocvCDoQBra3Bby3kOuy43cimfOmzq1z1qQhZLBGLDbv4EFi3m5pvAjoPAdvjeBPEfwmNLx9gg9S9d4Iprj18f4srmonrvqrNxNeMd3iKEm84r3Le-qhtp4vqhNjMzhK-YYbu2lP_EWl56z9lwdKyYQnLktXEYyhEUmDrA3IbNOfOI9n9Yg4447wvO9O4HJ7ca55FPK0NZz1Ixa3pjONAPEg-Hy4nz9tvUWJLrh9neuTd5VHF1l-njSiE0ZoqGEbo31xvHktwQcBtrXy3VLBAQEBAMukik&clip=4&guid=d100acff3b2fe022&flowid=c9c280caacbe397e4cfcaf4b7cac93fd&platform=10201&sdtfrom=v1010&appVer=1.35.8&unid=&auth_from=&auth_ext=&vid=z0040h5y12l&defn=fhd&fhdswitch=0&dtype=3&spsrt=2&tm=1727256908&lang_code=0&logintoken=%7B%22access_token%22%3A%2284_01UB8IAcIpwAefA_6LxidAMs2VPHiBmwIOXtev_5g7PVxMEnK5Ej6IU1BcNNBUPaKLX5bROXFKVH8BqUwy5i4ETD4d9UWha0CF-crgEQ-fQ%22%2C%22appid%22%3A%22wx5ed58254bc0d6b7f%22%2C%22vusession%22%3A%22S8MFYd8xM08MnLzeMxehgw.M%22%2C%22openid%22%3A%22ox8XOvj7XnSKbxbRFNcSQGiCjt6c%22%2C%22vuserid%22%3A%221048222535%22%2C%22video_guid%22%3A%22d100acff3b2fe022%22%2C%22main_login%22%3A%22wx%22%7D&spvvpay=1&spadseg=3&spvvc=3&spav1=15&spsfrhdr=0&spvideo=0&spm3u8tag=67&spmasterm3u8=3&hevclv=31&drm=40"}
response = requests.post(url=url, json=data, headers=headers)
json_data = response.json()
vinfo = json_data['vinfo']
info_json = json.loads(vinfo)
# 提取m3u8链接地址
m3u8_url = info_json['vl']['vi'][0]['ul']['ui'][-1]['url']
m3u8 = requests.get(url=m3u8_url, headers=headers).text
ts_list = re.findall(',\n(.*?)\n#', m3u8)
ts_name = '/'.join(m3u8_url.split('/')[:-1]) + '/'
#for循环遍历
for ts in tqdm.tqdm(ts_list):
# 拼接完整的ts视频链接地址
ts_url = ts_name + ts
# 获取视频片段内容
ts_content = requests.get(url=ts_url, headers=headers).content
with open('111.mp4', mode='ab') as f: #这个地方的111.mp4 写的文件名(提前新建一个MP4文件)
f.write(ts_content)
打开你要下载的视频,F12打开开发人员工具,刷新页面,然后Ctrl+F搜索m3u8。
找到proxyhttp这个东西

然后把里面的复制下来,粘贴到url那。

点负载,把里面这堆全复制了,粘贴到data那。

就是这部分,要根据自己要下的视频改
url = 'https://vd6.l.qq.com/proxyhttp'
data = {"adparam":"adType=preAd&vid=z0040h5y12l&sspKey=phus",
"buid":"vinfoad",
"sspAdParam":"{\"ad_scene\":1,\"pre_ad_params\":{\"ad_scene\":1,\"user_type\":0,\"video\":{\"base\":{\"vid\":\"z0040h5y12l\",\"cid\":\"mzc00200c7217w6\"},\"is_live\":false,\"type_id\":4,\"referer\":\"\",\"url\":\"https://v.qq.com/x/cover/mzc00200c7217w6/z0040h5y12l.html\",\"flow_id\":\"c9c280caacbe397e4cfcaf4b7cac93fd\",\"refresh_id\":\"3933de767de03c98c7b5eef1b95cce86_1727256894\",\"fmt\":\"fhd\"},\"platform\":{\"guid\":\"d100acff3b2fe022\",\"channel_id\":0,\"site\":\"web\",\"platform\":\"in\",\"from\":0,\"device\":\"pc\",\"play_platform\":10201,\"pv_tag\":\"cn_bing_com\",\"support_click_scan_integration\":true,\"qimei32\":\"66c9adefa1e14dd7594a6ad4ebd58574\"},\"player\":{\"version\":\"1.35.6\",\"plugin\":\"3.5.23\",\"switch\":1,\"play_type\":\"0\"},\"token\":{\"type\":2,\"vuid\":1048222535,\"vuser_session\":\"S8MFYd8xM08MnLzeMxehgw.M\",\"app_id\":\"wx5ed58254bc0d6b7f\",\"open_id\":\"ox8XOvj7XnSKbxbRFNcSQGiCjt6c\",\"access_token\":\"84_01UB8IAcIpwAefA_6LxidAMs2VPHiBmwIOXtev_5g7PVxMEnK5Ej6IU1BcNNBUPaKLX5bROXFKVH8BqUwy5i4ETD4d9UWha0CF-crgEQ-fQ\"},\"req_extra_info\":{\"now_timestamp_s\":1727256908,\"ad_frequency_control_time_list\":{\"full_pause_short_bid_forbid_cid\":{\"ad_frequency_control_time_list\":[1727245830]},\"full_pause_short_bid_forbid_vid\":{\"ad_frequency_control_time_list\":[1727245830]},\"full_pause_short_vip_bid\":{\"ad_frequency_control_time_list\":[1727245830]},\"full_pause_feed_back_bid\":{\"ad_frequency_control_time_list\":[1727245854]},\"full_pause_feedback_bid_successive\":{\"ad_frequency_control_time_list\":[1727245854]}}},\"extra_info\":{}}}",
"vinfoparam":"charge=0&otype=ojson&defnpayver=3&spau=1&spaudio=0&spwm=1&sphls=2&host=v.qq.com&refer=https%3A%2F%2Fv.qq.com%2Fx%2Fcover%2Fmzc00200c7217w6%2Fz0040h5y12l.html&ehost=https%3A%2F%2Fv.qq.com%2Fx%2Fcover%2Fmzc00200c7217w6%2Fz0040h5y12l.html&sphttps=1&encryptVer=9.2&cKey=ZGRE2MBGbEe1EM1Orq2-LnCjnpb8Ocr0cPTfNxSezEul_f4uOWcoV2JGR8Gi77I5PQsGz0UNymoKCp7VHCeQghpmp7rG5tiHjLv_PnnatnPaZfOXktuBpd_Im7lpptOC3137_IMO4ZljFjOj-NmZhE-NjjawCzIdF66cdsFdzz5jk70UOmynTHDptaxqIemxrSlkg-M_BbDaBoWksGXkUJYnQqXKgvocvCDoQBra3Bby3kOuy43cimfOmzq1z1qQhZLBGLDbv4EFi3m5pvAjoPAdvjeBPEfwmNLx9gg9S9d4Iprj18f4srmonrvqrNxNeMd3iKEm84r3Le-qhtp4vqhNjMzhK-YYbu2lP_EWl56z9lwdKyYQnLktXEYyhEUmDrA3IbNOfOI9n9Yg4447wvO9O4HJ7ca55FPK0NZz1Ixa3pjONAPEg-Hy4nz9tvUWJLrh9neuTd5VHF1l-njSiE0ZoqGEbo31xvHktwQcBtrXy3VLBAQEBAMukik&clip=4&guid=d100acff3b2fe022&flowid=c9c280caacbe397e4cfcaf4b7cac93fd&platform=10201&sdtfrom=v1010&appVer=1.35.8&unid=&auth_from=&auth_ext=&vid=z0040h5y12l&defn=fhd&fhdswitch=0&dtype=3&spsrt=2&tm=1727256908&lang_code=0&logintoken=%7B%22access_token%22%3A%2284_01UB8IAcIpwAefA_6LxidAMs2VPHiBmwIOXtev_5g7PVxMEnK5Ej6IU1BcNNBUPaKLX5bROXFKVH8BqUwy5i4ETD4d9UWha0CF-crgEQ-fQ%22%2C%22appid%22%3A%22wx5ed58254bc0d6b7f%22%2C%22vusession%22%3A%22S8MFYd8xM08MnLzeMxehgw.M%22%2C%22openid%22%3A%22ox8XOvj7XnSKbxbRFNcSQGiCjt6c%22%2C%22vuserid%22%3A%221048222535%22%2C%22video_guid%22%3A%22d100acff3b2fe022%22%2C%22main_login%22%3A%22wx%22%7D&spvvpay=1&spadseg=3&spvvc=3&spav1=15&spsfrhdr=0&spvideo=0&spm3u8tag=67&spmasterm3u8=3&hevclv=31&drm=40"}
记得运行前要新建一个MP4文件,如代码中的‘111.mp4’
这一部分,文件名随便,但是要保持一致
for ts in tqdm.tqdm(ts_list):
ts_url = ts_name + ts
ts_content = requests.get(url=ts_url, headers=headers).content
with open('111.mp4', mode='ab') as f:
f.write(ts_content)
1万+

被折叠的 条评论
为什么被折叠?



