发
import requests
healder={
"Referer": "https://www.pearvideo.com/video_1021424" # 消息头的防盗链,意思是当前页面的上一个页面地址
}
url1 = 'https://www.pearvideo.com/video_1021424' # 视频网址 ,获取:1021424
url_id = url1.split('_')[1] # 获取:1021424
url2 = f'https://www.pearvideo.com/videoStatus.jsp?contId={url_id}&mrd=0.7058898301079988' # 请求接口地址,需要变量url_id
rsp = requests.get(url2,headers=healder) # 这里没有消息头防盗链无法返回数据
dic = rsp.json() # 转化为字典
system_Time = dic['systemTime'] # 获取真实视频地址所需要的数据
mp4_url = dic['videoInfo']['videos']['srcUrl'] # 获取返回的视频地址
print(mp4_url) # https://video.pearvideo.com/mp4/short/20170104/1664327435962-10125617-hd.mp4
real_mp4_url = mp4_url.replace(system_Time,"cont-"+url_id) # 对地址进行替换,得到正确的地址
print(real_mp4_url)
# 输出完整的拼接字符串:https://video.pearvideo.com/mp4/short/20170104/cont-1021424-10125617-hd.mp4
# 保存视频
with open('123.mp4',mode='wb') as f:
f.write(requests.get(real_mp4_url).content) # 不能直接把地址写进来,需要用request并转化为字节content
# f.write(real_mp4_url) # 这样是错的