爬取好看视频

爬取好看视频_第1张图片

难点在于找到包:

好看视频是下滑动态加载的,所以在xhr 中去找包,找包步骤如下:

爬取好看视频_第2张图片

又点击检查,点击network

爬取好看视频_第3张图片 

点击xhr 

刷线网址

往下滑

爬取好看视频_第4张图片

爬取好看视频_第5张图片 

点击包,在preview中可以看到数据

 

爬取好看视频_第6张图片 

视频链接在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)

结果展示:

爬取好看视频_第7张图片 

 

你可能感兴趣的:(python,爬虫)