python 爬取某站视频

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

也是感觉好久都没有写博客了,主要是因为学业繁忙(其实是想多摆烂一会儿。。。)

python爬取视频,python编程,python,音视频,开发语言
距离暑假还有一个月,各科老师也开始布置相关的期末考试内容了。。。。。。

最近英语老师给我们留了一个期末作业(大学牲又要忙起来了),内容是拍摄一个短视频,既然是视频那素材是少不了的(我还是负责剪辑),于是我们组员开始在某站上寻找素材,找到视频发现下载不了视频,本来是想着既然下载不了,那就直接录屏吧。But,我又觉得既然学了爬虫那就要把它利用起来,顺便就当复习一下相关知识(也是好久没有写爬虫了)。

接下来让我们可以如何爬取某站上的视频吧,
话不多说直接上代码:

import requests,json,pprint,re
import os
from moviepy.editor import *

""" 获取url响应体 """
def getResponse(url):
    # 设置请求头
    # referer:必须要设置,否则会返回403没有权限访问,加上这段就代表我们是从哪个网页请求过来的
    # User-Agent:设置浏览器标识
    headers = {
        'referer':'https://www.bilibili.com/',
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36'
    }
    """发起get请求"""
    response = requests.get(url=url,headers=headers)
    return response

""" 解析响应体 """
def parseResponse(url):
    # 获取url响应体
    response = getResponse(url)
    # 用正则表达式取出返回的视频数据
    html_data = re.findall('<script>window.__playinfo__=(.*?)</script>',response.text)[0]
    # 解析成json数据
    JsonData = json.loads(html_data)
    # 获取视频标题
    videoTitle= re.findall('<title data-vue-meta="true">(.*?)</title>',response.text)[0]
    # 获取音频
    audioUrl = JsonData['data']['dash']['audio'][0]['baseUrl']
    # 获取视频
    videoUrl = JsonData['data']['dash']['video'][0]['baseUrl']
    # 封装视频信息
    videoInfo = {
        'videoTitle':videoTitle,
        'audioUrl':audioUrl,
        'videoUrl':videoUrl,
    }
    print("获取Response信息成功!")
    return videoInfo

""" 保存视频 """
def videoSave(fileName,audioUrl,videoUrl):
    # 获取音频和视频的二进制内容
    audioResponse = getResponse(audioUrl).content
    videoResponse = getResponse(videoUrl).content
    # 写入文件
    with open('./video/'+fileName+'.mp3',mode='wb') as f:
        f.write(audioResponse)
        f.close()
    with open('./video/'+fileName+'.mp4',mode='wb') as f:
        f.write(videoResponse)
        f.close()
    print("保存视频成功!")

""" 合并音频和视频 """
def AvMerge(Mp3Name,Mp4Name,savePath):
    print("开始合并音频和视频.........")
    video = VideoFileClip(Mp4Name)
    audio = AudioFileClip(Mp3Name)
    video_merge = video.set_audio(audio)
    video_merge.write_videofile(savePath)
    os.remove(Mp3Name)
    os.remove(Mp4Name)
    print("合并成功!")
def main():
    url = input("请输入B站视频url地址:")
    videoBaseUrl = 'D:\\desktop\\Code\\pythonCode\\B站视频爬取\\'
    videoInfo = parseResponse(url)
    videoSave(videoInfo['videoTitle'],videoInfo['audioUrl'],videoInfo['videoUrl'])
    fileName = videoInfo['videoTitle']
    AvMerge(videoBaseUrl+'video\\'+fileName+'.mp3',videoBaseUrl+'video\\'+fileName+'.mp4',videoBaseUrl+'\\video\\'+'merge'+fileName+'.mp4')
if __name__ == '__main__':
    main()

以上就是爬取视频的代码,基本上每个地方都有注释,相信有爬虫基础的小伙伴都能看懂,一个视频会爬了,那批量爬取就不是什么难事了,我这里的是单视频爬取,有兴趣的小伙伴也可以自己实现一个批量视频爬取。

python爬取视频,python编程,python,音视频,开发语言文章来源地址https://www.toymoban.com/news/detail-756196.html

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

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

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

相关文章

  • Qt音视频开发45-音视频类结构体参数的设计

    Qt音视频开发45-音视频类结构体参数的设计

    视频监控内核组件重构和完善花了一年多时间,整个组件个人认为设计的最好的部分就是各种结构体参数的设计,而且分门别类,有枚举值,也有窗体相关的结构体参数,解码相关的结构体参数,同时将部分常用的结构体参数的获取和设置单独提供了函数,参阅海康大华等大

    2024年02月05日
    浏览(15)
  • Qt/C++音视频开发46-音视频同步保存到MP4

    用ffmpeg单独做视频保存不难,单独做音频保存也不难,难的是音视频同步保存到MP4中,重点是音视频要同步,其实这也不难,只要播放那边音视频同步后的数据,写入到文件即可。最难的是在播放过程中不断随机的切换播放进度,而且还会暂停播放、暂停录制的情况出现,这

    2024年02月17日
    浏览(13)
  • 音视频开发常见问题(五):视频黑屏

    本文介绍了视频黑屏的可能原因和解决方案。主要原因包括用户主动关闭视频、网络问题和渲染问题。解决方案包括优化网络稳定性、确保视频渲染视图设置正确、提供清晰的提示、实时监测网络质量、使用详细的日志系统、开启视频预览功能、使用视频流回调、处理编解码

    2024年02月08日
    浏览(9)
  • 音视频技术开发周刊 | 304

    音视频技术开发周刊 | 304

    每周一期,纵览音视频技术领域的干货。 新闻投稿:contribute@livevideostack.com。 更强的Llama 2开源,可直接商用:一夜之间,大模型格局变了 Meta 终于发布了大家期待已久的免费可商用版本 Llama 2。 6000份问卷透露出AI时代的职业焦虑与机遇 |附报告下载 AI大模型的发展日新月异

    2024年02月14日
    浏览(9)
  • 音视频技术开发周刊 | 306

    音视频技术开发周刊 | 306

    每周一期,纵览音视频技术领域的干货。 新闻投稿:contribute@livevideostack.com。 人工智能研究人员声称,通过Zoom音频检测击键的准确率为93% 通过记录按键并训练深度学习模型,三位研究人员声称,基于单个按键的声音特征,他们在解释远程按键方面的准确率达到了90%以上。

    2024年02月12日
    浏览(20)
  • FFmpeg 音视频开发工具

    FFmpeg 音视频开发工具

    目录 FFmpeg 下载与安装 ffmpeg 使用快速入门 ffplay 使用快速入门 1、FFmpeg 是处理音频、视频、字幕和相关元数据等多媒体内容的库和工具的集合。一个完整的跨平台解决方案,用于录制、转换和流式传输音频和视频。 官网:https://www.ffmpeg.org/ 源码:https://github.com/FFmpeg/FFmpeg。

    2024年02月15日
    浏览(12)
  • Android 音视频开发 - VideoView

    本篇文章主要介绍下Android 中的VideoView. VideoView是一个用于播放视频的视图组件,可以方便地在应用程序中播放本地或网络上的视频文件。 VideoView可以直接在布局文件中使用,也可以在代码中动态创建。 它封装了MediaPlayer和SurfaceView,提供了简单的接口来控制视频的播放和显示

    2024年04月08日
    浏览(12)
  • 音视频技术开发周刊 | 300

    音视频技术开发周刊 | 300

    每周一期,纵览音视频技术领域的干货。 新闻投稿:contribute@livevideostack.com。 著名数据和AI企业Databricks,收购类ChatGPT开源平台MosaicML 6月27日,Databricks在官网宣布,以13亿美元(约94亿元)价格收购了类ChatGPT开源平台MosaicML。本次交易是全球生成式AI赛道第一笔超过10亿美元的

    2024年02月12日
    浏览(20)
  • 音视频技术开发周刊 | 317

    音视频技术开发周刊 | 317

    每周一期,纵览音视频技术领域的干货。 新闻投稿:contribute@livevideostack.com。 MIT惊人再证大语言模型是世界模型!LLM能分清真理和谎言,还能被人类洗脑 MIT等学者的「世界模型」第二弹来了!这次,他们证明了LLM能够分清真话和假话,而通过「脑神经手术」,人类甚至还能

    2024年02月07日
    浏览(10)
  • 音视频技术开发周刊 | 305

    音视频技术开发周刊 | 305

    每周一期,纵览音视频技术领域的干货。 新闻投稿:contribute@livevideostack.com。 大神回归学界:何恺明宣布加入 MIT 「作为一位 FAIR 研究科学家,我将于 2024 年加入麻省理工学院(MIT)电气工程与计算机科学系 EECS 担任教职。」 AI 领域的著名学者,ResNet 发明人何恺明,最近在

    2024年02月14日
    浏览(12)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包