用Python写一个视频采集脚本,对某网站进行批量采集

最近某牙上又出现一批高质量视频,听说删的很快,还好我会Python,赶紧采集下来保存!

准备工作

环境使用

Python 3.10 解释器
Pycharm 编辑器

模块使用

requests >>> 数据请求模块
re <正则表达式模块>
os <文件操作模块>

为了让大家彻底学会本案例,小编特地熬夜加班录制了视频讲解, 跟代码一起打包好了,直接文末名片自取,点击直达文末

爬虫实现基本流程

一、数据来源分析

1.明确需求

明确采集的网站以及数据内容

  • 网址: https://***/video/play/994633970.html
  • 数据: 视频标题 / 视频链接
2.抓包分析

通过浏览器开发者工具分析对应数据位置

  • 打开开发者工具
    F12 / 右键点击检查选择network 网络面板
  • 刷新网页
  • 通过关键字搜索找到对应数据位置
    关键字: 需要什么数据就搜什么数据

1.先找视频链接
-开发者工具 -> 网络 -> 媒体 -> 查看对应视频链接 ×
-开发者工具 -> 网络 -> 全部 -> 是否存在某些链接 xx.ts -> 说明m3u8流媒体文件
2.关键字: m3u8进行数据搜索查询

数据包地址: https://****/moment/getMomentContent?callback=jQuery1124092 55698284796892_1720872611286&videoId=994633970&uid=1259519996193&_=172087261129
2

二、代码实现步骤

1.发送请求

模拟浏览器对于url地址发送请求

# 导入数据请求模块 import requests """发送请求"""
# 模拟浏览器 -> 复制请求标头参数(字典)
headers = {
# User-Agent 用户代理, 表示浏览器基本身份信息
'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://****/moment/getMomentContent? callback=jQuery112409255698284796892_1720872611286&videoId=994633970&uid=1259519  996193&_=1720872611292'
# 发送请求 -> 导入数据请求模块, 使用浏览器所示请求方法传入相关参数即可
response = requests.get(url=url, headers=headers)
2.获取数据

获取服务器返回响应数据

response.text

  • 获取响应的文本数据

response.json()

  • 获取响应的json数据
    必须是完整的json数据格式

response.content

  • 获取响应的二进制数据
3.解析数据

提取我们需要的数据内容

 # 提取视频标题
 title = json_data['data']['moment']['title']
 # 提取视频链接
 video_url = json_data['data']['moment']['videoInfo']['definitions'][0]['url']
 print(title, video_url)
4.保存数据

获取视频内容, 保存本地文件夹。

# 获取视频内容
video_content = requests.get(url=video_url, headers=headers).content
# 保存数据
with open('video\\' + title + '.mp4', mode='wb') as f:
    # 写入数据
    f.write(video_content)

效果

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值