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

网站平台搭建流程郑州网络推广大包

网站平台搭建流程,郑州网络推广大包,wordpress密码注册,网页网站怎么做的目录 一、任务分析 二、网页分析 三、任务实现 一、任务分析 将B站视频爬取并保存到本地,经过分析可知可以分为四个步骤,分别是: 爬取视频页的网页源代码;提取视频和音频的播放地址;下载并保存视频和音频&#x…

目录

一、任务分析 

二、网页分析

三、任务实现


一、任务分析 

        将B站视频爬取并保存到本地,经过分析可知可以分为四个步骤,分别是:

  1. 爬取视频页的网页源代码;
  2. 提取视频和音频的播放地址;
  3. 下载并保存视频和音频;
  4. 合并视频和音频,使用ffmpeg模块;

二、网页分析

        在分析网页前,需要明白爬取的数据是什么,由于b站的视频跟音频是分开存放的,所以我们需要分别找到视频和音频的url,然后在对其发起请求将视频和音频保存至本地;最后将两者合并在一起,才能形成完整的视频文件。

1、先登录B站,选择想要下载的视频,打开浏览器开发者模式,刷新网页,寻找数据接口;

2、经过分析,在文档下发现了一个文件,该文件源码中就存放了视频和音频的url地址,向该文件接口发起请求,将视频和音频的url地址解析出来;

3、得到该数据接口的请求url和请求参数

4、找到所需的数据接口后,先分析一下网页源码,我们发现视频url存放在一个 <script>标签下的 video下,发现音频url在 audio 下的 baseUrl中;

三、任务实现

        前期准备:编写代码前,需要大家安装一个第三方工具ffmpeg,用于合并视频和音频。

        代码实现:

"""
@Author :江上挽风&sty
@Blog(个人博客地址):https://blog.csdn.net/weixin_56097064
@File :B站视频爬取
@Time :2024/12/11 9:28
@Motto:一直努力,一直奋进,保持平常心"""
import os
import pprint
import re# 1、爬取视频页的网页源代码
import requests
import json
from lxml import etree
header = {"referer": "https://www.bilibili.com","user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"
}# 2、提取视频和音频的播放地址
def get_play_url(url):r = requests.get(url, headers=header)# print(r.text)info = re.findall('window.__playinfo__=(.*?)</script>', r.text)[0]video_url = json.loads(info)["data"]["dash"]["video"][0]["baseUrl"]audio_url = json.loads(info)["data"]["dash"]["audio"][0]["baseUrl"]# print(video_url)# print(audio_url)html = etree.HTML(r.text)filename = html.xpath('//h1/text()')[0]# print(filename)return video_url, audio_url, filename# 3、下载并保存视频和音频
def download_files(video_url, audio_url, filename, video_path,audio_path):print("开始下载视频和音频")video_content = requests.get(video_url, headers=header).contentaudio_content = requests.get(audio_url, headers=header).contentwith open(f'{video_path}/{filename}.mp4', 'wb') as f:f.write(video_content)print("视频部分下载完毕")with open(f'{audio_path}/{filename}.mp3', 'wb') as f:f.write(audio_content)print("音频部分下载完毕")# 4、合并视频和音频,使用ffmpeg模块
def combin_video_audio(filename, video_path, audio_path):# cmd = fr"ffmpeg -i {video_path}{filename}.mp4 -i {audio_path}{filename}.mp3 -c:v copy -c:a aac -strict experimental -map 0:v -map 1:a {video_path}\output-{filename}.mp4 -loglevel quiet"  # -loglevel quiet 表示隐藏日志,不加问题不大cmd = fr"D:\ApplicationsSoftware\FFmpeg\ffmpeg-7.1-full_build\ffmpeg-7.1-full_build\bin\ffmpeg -i {video_path}/{filename}.mp4 -i {audio_path}/{filename}.mp3 -c:v copy -c:a aac -strict experimental -map 0:v -map 1:a {video_path}/output-{filename}.mp4 -loglevel quiet"  # -loglevel quiet 表示隐藏日志,不加问题不大os.system(cmd)print("音频视频合并完毕")print("--"*10)os.remove(f'{video_path}/{filename}.mp4')os.remove(f'{audio_path}/{filename}.mp3')print('已删除多余的文件')if __name__ == '__main__':# url = 'https://www.bilibili.com/video/BV1AA4y1D7h2/?spm_id_from=333.337.search-card.all.click&vd_source=d9407807cd22419d13fabdc976906958'url = 'https://www.bilibili.com/video/BV1F6qnYoEz1/?t=6&spm_id_from=333.1007.tianma.3-3-9.click'video_path = r'D:\ProjectCode\Spider\StudySpider07\videos'audio_path = r'D:\ProjectCode\Spider\StudySpider07\audio'video_url, audio_url, filename = get_play_url(url)download_files(video_url, audio_url, filename, video_path, audio_path)combin_video_audio(filename, video_path, audio_path)

http://www.laogonggong.com/news/7052.html

相关文章:

  • 我想做网站百度seo还有前景吗
  • 海淀区网站搭建谷歌外链
  • 网站统计代码放哪里app拉新推广平台有哪些
  • 如何网上快速接网站开发订单厦门人才网最新招聘信息
  • asp网站建设下载谷歌外链代发
  • 教育门户网站建设seo优化评论
  • 成都市建设工程施工安监站网站网络游戏推广员
  • 网站首页代码怎么做香蕉和忘忧草对焦虑的影响
  • 上线了做的网站怎么办百度广告买下的订单在哪里找
  • 中国航天空间站最新消息百度怎么优化排名
  • 网站建设提成北京网站建设公司哪家好
  • 做网站就用建站之星最新国内新闻重大事件
  • 杭州网站建设岗位薪资开发一个网站
  • 可以自己买个服务器做网站吗有产品怎么找销售渠道
  • 北京建设电工证查询网站济南seo整站优化招商电话
  • 深圳做网站jm3q武汉百度推广外包
  • 网站下载免费重庆网站seo诊断
  • 招聘门户网站开发人员搭建网站多少钱
  • 深圳网站快速排名优化如何自己建设网站
  • 服装网站建设推荐百度官方免费下载
  • 培训机构的网站建设百中搜优化软件
  • 请人做网站要注意什么免费招收手游代理
  • 什么网站可以做公务员考试题唐山seo
  • 做网站数据库要哪一种好优化网站关键词排名
  • ps海报制作教程步骤的网站凡科网免费建站
  • 旅游电子商务平台有哪些百度seo可能消失
  • 源代码网站培训抚州网络推广
  • 河北企业网站建设公司湖南seo排名
  • 站设计培训课程百度竞价教程
  • 山东省住房和城乡建设厅官网二建报名韶关seo