python爬虫练习系列之二:下载B站视频

这篇具有很好参考价值的文章主要介绍了python爬虫练习系列之二:下载B站视频。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【思路】

1.下载文件用requests库最方便,因为可以获取错误码,可以自定义保存文件名,且不用判断文件是否已经下载完成。

2.解析需要下载的地址,得到视频和音频文件下载地址

3.合成视频和音频,得到最终mp4文件。

本次涉及视频操作,故需要安装如下库:

pip install requests moviepy

【范例代码】

import requests
import json
import re
from moviepy.video.io.VideoFileClip import VideoFileClip
from moviepy.audio.io.AudioFileClip import AudioFileClip


def get_bilibili_video_url(url):
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
    }
    response = requests.get(url, headers=headers)
    html = response.text

    # 使用正则表达式提取视频信息
    match_result = re.search(r'__playinfo__=(.*?)</script>', html)
    if match_result:
        play_info_str = match_result.group(1)
        play_info_dict = json.loads(play_info_str)

        # 获取视频下载链接
        dash_info = play_info_dict['data']['dash']
        video_info = dash_info['video'][0]
        audio_info = dash_info['audio'][0]

        video_url = video_info['base_url']
        audio_url = audio_info['base_url']

        return video_url, audio_url

    else:
        raise Exception('无法解析视频信息')


# 示例使用:
bilibili_url = "https://www.bilibili.com/video/BV17w411C7M8"
video_url, audio_url = get_bilibili_video_url(bilibili_url)
print("B站视频下载地址:", video_url)
print("B站音频下载地址:", audio_url)

# 下载视频和音频
video_content = requests.get(video_url).content
audio_content = requests.get(audio_url).content

# 保存视频和音频到本地文件
with open('video.mp4', 'wb') as f:
    f.write(video_content)

with open('audio.mp3', 'wb') as f:
    f.write(audio_content)

# 加载视频和音频,合并为一个MP4文件
video_clip = VideoFileClip('video.mp4')
audio_clip = AudioFileClip('audio.mp3')

final_video_clip = video_clip.set_audio(audio_clip)
final_video_clip.write_videofile('final.mp4')

print("合并完成,输出文件:final.mp4")

【执行效果】

见下图。

python 下载b站网页blob视频,python,python,开发语言播放最终下载视频效果,如下:

python 下载b站网页blob视频,python,python,开发语言

【发文章不易,请多多点赞、关注、支持!】文章来源地址https://www.toymoban.com/news/detail-776150.html

到了这里,关于python爬虫练习系列之二:下载B站视频的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python网页点击下载按钮,python自动下载视频

    大家好,本文将围绕python登录网站自动下载文件展开说明,python自动下载网页中的文件是一个很多人都想弄明白的事情,想搞清楚python网页点击下载按钮需要先了解以下几个事情。 大家好,小编为大家解答python自动下载文件到指定文件夹的问题。很多人还不知道python登录网站

    2024年03月09日
    浏览(78)
  • 用Python下载网页视频

    你可以使用 Python 中的 requests 库来下载网页视频。 首先,你需要安装 requests 库。你可以在命令行中输入以下命令来安装它: 然后,你可以使用 requests.get() 函数来下载网页视频。例如: 这样,你就可以使用 Python 下载网页视频了。 注意:请确保你有权限下载该视频,并遵守

    2024年02月12日
    浏览(62)
  • Python爬虫系列(二)——Python爬虫批量下载百度图片

    1. 前言 先贴代码 如果要使用上述程序的话,需要修改两个地方 : self.directory 这是本地存储地址,修改为自己电脑的地址,另外,**{}**不要删 spider.json_count = 10 这是下载的图像组数,一组有30张图像,10组就是三百张,根据需求下载 也可以去gitee仓库直接下载程序。 关于 py

    2023年04月08日
    浏览(59)
  • Python 爬虫之下载视频(四)

    这篇用来记录一下如何爬取这个平台的视频,比如一些Python的教程小视频(一个视频四五分钟的那种的),效果还是不错的。 举例,如下图所示: 打开一个正在播放的网页页面,获取视频标题和下载链接,在本地保存成mp4格式的视频文件。 获取视频下载链接,电脑网页检查

    2024年01月22日
    浏览(38)
  • Python 爬虫之下载视频(一)

    今天写个从 好K视频 平台爬取正在播放的视频,并下载保存到本地。 注意:建议大家先看看我之前的比较简单的基础教程文章,要不可能看起来会有点费劲哦。 通过用户输入某个视频的地址,然后程序会根据这个地址,自动获取视频的标题和下载视频,并将标题命名为视频

    2024年02月04日
    浏览(43)
  • 【python学习笔记】:实现网页视频自动下载并保存

    如何使用python爬虫实现网页视频自动下载并保存: 使用python爬取页面,然后自动下载视频,但是这样会有一个问题,我并不是需要所有视频,有些是垃圾视频不需要下载,python似乎还没法做到识别我对哪些视频是有价值的,所以这一步人工绕不开,我选择直接把目标视频的详

    2024年02月11日
    浏览(49)
  • 简单python网络爬虫批量下载视频

    寒假闲来无事,决定尝试一下用python写一个小网络爬虫批量下载视频。 由于是第一次写网络爬虫,可以说是两眼一抹黑,整个程序都是自己一点点试出来的,所以程序本身肯定有一些漏洞和缺陷,如果有建议请批评指正。 由于CSDN审核不允许出现具体网址否则会因为版权问题

    2023年04月08日
    浏览(45)
  • python之教你如何下载网页视频(亲测可用)

    以好看网为例 随便选择一个视频点击即可,按下F12查看 选择Network-Fetch/XHR,在左侧栏Name这一列可以看多很多请求,由于好看网中的视频是音视频分开的,所以你要分别下载音频文件和视频文件,最后可以利用ffmpeg将其合成到一个完整的视频当中。 源码如下:

    2024年02月09日
    浏览(68)
  • html网站video标签blob视频如何下载

    在淘宝或tdtu知乎等有时想下载里面的视频资源,看了一下视频标签里的video不是MP4格式url,而是blob+url的方式。 是blob:https并不是一种协议,而是html5中blob对象在赋给video标签后生成的一串标记,blob对象对象包含的数据,浏览器内部会解析 关于Blob原理和方式 blob 其实是 h5 表征

    2024年02月21日
    浏览(62)
  • Python爬虫:给我一个链接,西瓜视频随便下载

    1.实现原理 首先,我们需要来到西瓜视频的官网,链接为:西瓜视频,随便点击其中一个视频进入,点击电脑键盘的F12来到开发者模式,按ctrl+F进行搜索,输入video,如下: 我们可以发现,这里有一个视频链接,我们点击这个链接进入,依旧按电脑F12键来到开发者模式,继续

    2024年02月14日
    浏览(80)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包