当前位置: 首页 > news >正文

学生组织网站建设网站备案流程图片

学生组织网站建设,网站备案流程图片,网站开发量计算,中山做网站哪家公司好本文想要达成的目标为:运行 python 代码之后,在终端输入视频链接,可自动下载高清 1080P 视频并保存到相应文件夹。 具体可分为两大步:首先,使用浏览器开发者工具 F12 获取请求链接相关信息(根据 api 接口下…

本文想要达成的目标为:运行 python 代码之后,在终端输入视频链接,可自动下载高清 1080P 视频并保存到相应文件夹。
具体可分为两大步:首先,使用浏览器开发者工具 F12 获取请求链接相关信息(根据 api 接口下载?加密参数信息?是从 html 文件获取到具体的链接?链接在 html 文件中位置?);然后,确定使用的 python 库,并写出代码。

最后代码运行结果如图所示:

1. 确定请求链接信息

打开一个视频,对整个过程中的请求进行分析,确定视频链接和音频链接;(下图 1)
首先从 html 源码进行查找,找到了对应的音视频链接;(下图 2)
经过分析,可使用 beautifulsoup 库定位元素位置,标题定位为 bs.find('div', id='viewbox_report').find('div', class_='video-info-title').div.h1.string,视频链接定位为 bs.head.find_all('script', limit=4)[-1].string.lstrip('window.__playinfo__=')['data']['dash']['video'][2]['baseUrl'],音频链接定位为 bs.head.find_all('script', limit=4)[-1].string.lstrip('window.__playinfo__=')['data']['dash']['audio'][0]['baseUrl']

2. 使用 requests 库下载音视频文件

2.1. 获取 html 源代码

可使用以下函数获取 html 文档:(注:经测试,下载 1080p 视频需要在请求头中加入 登陆帐号cookie)

def _request_html(url: str):'''获取 html 文档源代码并返回'''response = get(url, headers={})response.encoding = response.apparent_encodingreturn response.text

2.2. 下载音视频文件并保存

然后,可根据上一步得到的链接位置,通过 bs 库对 html 文档进行解析,得到所需的 视频标题、视频链接、音频链接,使用 requests 库发送请求下载文件,并存储到本地。
注:因为音视频分离,所以可使用 aiohttp 进行异步下载,稍微提高效率;
注:为美观以及方便查看进度,可使用 rich 库添加进度条;
注:视频文件有时可能比较大,因此可使用流数据分块下载方式进行;
以下代码为提取所需信息代码,可进行参考:(注:首选视频链接有时会失效,因此需提取备用链接)

@staticmethod
def _extract_title_url(html: str):bs = BeautifulSoup(html, 'lxml')# 提取视频标题,并去除非法字符title = bs.find('div', id='viewbox_report').find('div', class_='video-info-title').div.h1.stringfor i in {'/', '\\', '|', '<', '>', '\'', '\"', '?', ':', '*', '\x00'}:title = title.replace(i, ' ')# 提取音视频链接info = bs.head.find_all('script', limit=4)[-1].string.lstrip('window.__playinfo__=')info_dict = loads(info)video_urls = (info_dict['data']['dash']['video'][2]['baseUrl'],info_dict['data']['dash']['video'][2]['backupUrl'][0])audio_urls = (info_dict['data']['dash']['audio'][0]['baseUrl'],info_dict['data']['dash']['audio'][0]['backupUrl'][0],)return (title, video_urls, audio_urls)

3. 使用 ffmpeg 合并音视频

可使用 ffmpeg 进行音视频的合并,合并完毕后删除音视频文件。
注:使用 pip 安装时命令为:pip install ffmpeg-python
注:可使用 rich 库添加进度条
代码如下,可参考:

def _merge(video_path: str, audio_path: str, filepath: str):'''合并音视频'''with _progress_object_merge() as progress:progress.add_task('正在合并音视频', total=None)input_video = ffmpeg_input(video_path)input_audio = ffmpeg_input(audio_path)output = ffmpeg_output(input_video, input_audio, filepath, vcodec='copy', acodec='aac')ffmpeg_run(output, quiet=True)print(f'{filepath} 合并完成')remove(video_path)remove(audio_path)def _progress_object_merge():'''合并音视频的进度条设置'''return Progress(TextColumn('[progress.description]{task.description}', style=CYAN, justify='left'),'•',BarColumn(bar_width=20),'•',TimeElapsedColumn(),transient=True,)
http://www.yayakq.cn/news/168233/

相关文章:

  • 畜牧企业网站模板网站的常用建设技术有哪些
  • 建设银行忘记密码网站首页校友网站建设方案
  • 做关于卖宠物饲料网站有什么名字吗147seo采集工具
  • 中关村网站建设个体工商户可以搞网站建设
  • 什么样的网站可以做站内站玉林seo
  • 营销网站开发规划做系统下载网站建设
  • 怀远做网站电话门户网站英文
  • 思明自助建站软件汕头网站建设网站推广
  • 下载网站模板领优惠券的网站怎么建设的
  • 南京html5响应式网站建设网站开发前景怎么样
  • 电商网站建设事例西安360免费做网站
  • 电脑网站在哪里找网站建设服务收费标准
  • 咸阳网站开发公司电话招标文件范本
  • 速成美站wordpress微博图床怎么用
  • 网站备案服务商查询wordpress微信登陆插件下载失败
  • 做佛像在什么网站发贴效果好点建设银行手机银行网站用户名是什么
  • 动漫网站html如何查询商标是否已经被注册
  • 网站建设项目管理南昌做网站多少钱
  • wap网站建设免费网站运营建设的培训班
  • 上海网站推广公司设计的软件都有什么
  • 查询网站ftp地址女性logo大全图片
  • 企业网站源码排行企业营销型网站推广
  • 网站集约化建设工作汇报宁波网站建设与维护
  • 网站没备案怎么做加速龙海建设局网站
  • 手机网站关键词快速排名百度com打开
  • 网站建设的优点和不足网站建设工程师职责
  • 平板购物网站建设重庆建设造价信息网
  • 企业网站的建设流程包括京东网站推广方式
  • 网站开发游戏广州本地网站
  • 建设银行个人网上银行网页网站搜索引擎优化的步骤