python生成视频,用python下载视频代码

  python生成视频,用python下载视频代码

  本文主要详细介绍Python如何下载和合成视频。本文详细解释了实现步骤。有兴趣的朋友可以跟边肖学习一下。

  00-1010模块是利用开发环境案例实现的。1.明确要求。2.代码实现步骤。实现代码。

  

目录

  请求pip安装请求(数据请求第三方模块)

  Re #正则表达式来匹配提取的数据

  数据

  

模块使用

  Python 3.8解释器

  Pycharm 2021.2版本建议

  R win输入cmd并输入安装命令pip install模块名。如果是红色,可能是因为网络连接超时,切换了国内的镜像源。

  

开发环境

  

案例实现

  收集内容,先分析一个视频是从哪里获取的。

  通过开发者的工具进行包捕获分析,分析视频数据在哪里可以得到内容格式为m3u8的视频内容。

  当我们网站的视频格式为m3u8时,有一个文件专门用来存储所有的ts视频片段。

  

1.明确需求

  发送请求以获取数据、分析数据和保存数据。1.发送请求,请求视频播放页面的url地址

  2.获取数据,并获取服务器返回响应数据。

  3.分析数据,提取我们想要的数据内容,视频标题,m3u8链接。

  4.发送请求,用于m3u8链接。

  5、数据采集,获取服务器返回响应数据

  6.分析数据并提取所有ts文件URL[视频剪辑]

  7.保存数据,保存所有视频,然后合成一个完整的视频内容。

  

2.代码实现步骤

  导入请求#数据请求模块pip安装请求在cmd中输入命令。

  Import # import正则表达式模块内置模块

  导入json

  导入pprint #打印格式模块

  对于范围(1,17):中的页面

  打印(f -

  list _ URL= https://www . acfun.cn/u/45321802

  #批量控制R选择目标

  数据={

  快速查看Id: ac-space-video-list ,

  reqID:第1页,

  ajaxpipe: 1 ,

  键入 : 视频,

  订单 : 最新:

  第:页,

  pageSize: 20 ,

  t: 1649944573765 ,

  }

  标题={

  # cookies : 您的cookie ,

  用户代理“:”Mozilla/5.0(Windows NT 10.0;Win64x64) AppleWebKit/537.36 (KHTML,像壁虎一样)Chrome/100 . 0 . 4896 . 75 Safari/537.36

  }

  # get请求有一个params参数。

  #发布请求数据参数

  response=requests . get(URL=list _ URL,params=data,headers=headers)

  #打印(response.text)

  id_list=re.findall(a href=。*?ac(。*?)“”,response.text)

  对于id_list:中的索引

  录像

  _id = index.replace(\\, )

   """

   1. 发送请求, 对于视频播放页面url地址发送请求

   用python代码去模拟浏览器 对于 url地址发送请求

   video

   """

   url = fhttps://www.acfun.cn/v/ac{video_id} # 确定请求url地址

   # 请求头 用伪装python代码, 为了被服务器识别出来 是爬虫程序 一种简单反反爬手段 当你加ua 得到数据的时候, 可能要cookie

   # 需要登陆才能获得数据的, 需要加cookie 用户信息, 常用于检测是否登陆账号

   headers = {

   # cookies: 你的cookie,

   User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36

   }

   # 通过requests模块里面get请求方式, 对于url地址发送请求, 并且携带上headers请求头伪装, 最后用response自定义变量接收返回数据

   response = requests.get(url=url, headers=headers)

   # 2. 获取数据

   # print(response.text)

   # 3. 解析数据 通过re模块里面findall的方法 在response.text里面去找寻 标题数据 re.S 匹配换行

   # 正则表达式提取出来的数据返回都是列表数据类型 实现过程不重要, 方式方法很多, 你喜欢用哪个都可以 只要可以取到数据都OK

   title = re.findall(<title >(.*?) - AcFun弹幕视频网 - 认真你就输啦 \(\?ω\?\)ノ- \( ゜- ゜\)つロ</title>, response.text)[0]

   video_info = re.findall(window.pageInfo = window.videoInfo = (.*?);, response.text)[0]

   # print(video_info) # 字符串转成字典 怎么转 最稳妥查看数据类型 直接用 type() 这个函数去查看

   json_data = json.loads(video_info)

   # pprint.pprint(json_data)

   # 字典取值 根据冒号左边的内容(键) 提取冒号右边的内容(值)

   m3u8_url = \

   json.loads(json_data[currentVideoInfo][ksPlayJson])[adaptationSet][0][representation][0][backupUrl][0]

   # print(title)

   # print(m3u8_url)

   # 通过requests模块里面get请求方式, 对于m3u8_url地址发送请求, 并且携带上headers请求头伪装, 获取响应体文本数据, 用m3u8_data自定义变量接收数据

   m3u8_data = requests.get(url=m3u8_url, headers=headers).text

   # split() 字符串分割

   m3u8_data = re.sub(#E.*, , m3u8_data).split()

   # print(m3u8_data)

   for ts in m3u8_data:

   ts_url = https://ali-safety-video.acfun.cn/mediacloud/acfun/acfun_video/ + ts

   ts_content = requests.get(url=ts_url, headers=headers).content

   # ab 是什么意思 a追加保存, b 二进制数据 ab 以二进制数据追加保存

   with open(video\\ + title + .mp4, mode=ab) as f:

   f.write(ts_content)

   print(视频保存完成: , title)

  

  视频教程

  到此这篇关于Python实现视频下载与合成的示例代码的文章就介绍到这了,更多相关Python视频下载 合成内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: