难点在于找到包:
好看视频是下滑动态加载的,所以在xhr 中去找包,找包步骤如下:
又点击检查,点击network
点击xhr
刷线网址
往下滑
点击包,在preview中可以看到数据
视频链接在playurl
代码为:
import os
filename = 'video\\'
if not os.path.exists(filename):
os.mkdir(filename)
url = 'https://haokan.baidu.com/haokan/ui-web/video/feed'
p = {
'time': '1701653885089',
'hk_nonce': '9e0bccd7b82fb05760d179fc5d90f3c8',
'hk_timestamp': '1701653885',
'hk_sign': '2c36fe5cf58ddf3b348132fe07db3f48',
'hk_token': 'FWpvdAVwdwNyCHMCd3p+DAsYCgA'
}
headers = {'User-Agent':
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36',
}
response = requests.get(url=url,params=p,headers=headers)
data = response.json()['data']['apiData']
for index in data:
play_url = index['previewUrlHttp']
title = index['title']
# 数据保存 对于视频播放地址 也需要发送请求 获取二进制数据
# 保存图片 视频 音频 特定格式的文件 都是需要获取二进制数据 进行保存
content = requests.get(url=play_url,headers=headers).content
with open(filename+title+'.mp4',mode='wb') as f:
f.write(content)
print('正在保存:',title)
结果展示: