兄弟们,现在短视频主播好看的妹子太多了,有时候遇到自己喜欢的,虽然点了赞或者收藏了,但是万一主播把视频隐藏下架了呢?

所以今天咱们就用Python来把这些好看的视频统统保存下来…

 

 

涉及知识点

1、动态数据抓包演示
2、json数据解析方法
3、视频数据保存

环境介绍

python 3.6
pycharm
requests

 

案例实现步骤

  1. 找数据对应的地址(url)请求
  2. 发送请求
  3. 数据的解析
  4. 数据保存

案例流程

使用的模块

import requests  # 第三方模块
import pprint  # 格式化输出模块
import re   # 正则

 

只有requests是第三方模块,需要手动安装一下,pip install requests .

替换非法字符

def change_title(title):
    """替换非法字符"""
    pattern = re.compile(r'[\\\/\:\*\?\"\<\>\|]')
    new_title = re.sub(pattern, '_', title)
    return new_title

 

找数据对应的地址(url)请求

url = 'https://api-tinyvideo-web.yy.com/home/tinyvideosv2'
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'}

params = {
    'data': '{"uid":0,"page":1,"pageSize":10}'

 

发送请求

response = requests.get(url=url, headers=headers, params=params)
json_data = response.json()

 

数据的解析

data_list = json_data['data']['data']

for data in data_list:
    video_title = data['username'] + '.mp4'  
    video_url = data['resurl']  

    video_data = requests.get(url=video_url, headers=headers).content

    new_title = change_title(video_title)

 

数据保存

with open('video\\' + new_title, mode='wb') as f:
    f.write(video_data)
    print('保存完成:', video_title)
# 完整源码及多页爬取源码都在这个群啦 279199867

 

效果展示

单页下载

 

 

 

 

多页下载

 

 

 

 

好了兄弟们,今天的分享就到这里喽!

给大家推荐一套Python教程,包含了常见的百来个案例,希望对大家有所帮助!

代码总是学完就忘记?100个爬虫实战项目!让你沉迷学习丨学以致用丨下一个Python大神就是你!