Python 爬虫之下载视频(一)

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

爬取某平台视频



前言

今天写个从好K视频平台爬取正在播放的视频,并下载保存到本地。

注意:建议大家先看看我之前的比较简单的基础教程文章,要不可能看起来会有点费劲哦。


一、大致内容

通过用户输入某个视频的地址,然后程序会根据这个地址,自动获取视频的标题和下载视频,并将标题命名为视频文件的名称。
注意:仅限该平台哦。


二、基本思路

  • 第一步:获取视频的网页地址。(需要手动获取输入)
  • 第二步:关闭每次打开弹出的登陆窗口,并获取视频的标题和下载地址。(程序自动执行)
  • 第三步,下载视频并以标题来命名下载的视频。(程序自动执行)

三、代码编写

下面所用到的库,记得先用pip等命令安装一下哈。

1.引入库

代码如下:

# 用来请求网页
import requests

# 用来解析网页
from selenium import webdriver

# 用来定位某个元素在网页中的位置
from selenium.webdriver.common.by import By

# 用来记录时间或者短暂等待
import time

2.前期准备

代码如下:

# 创建一个对象实例,用来表示用哪个浏览器爬取
driver = webdriver.Firefox()
# 某个视频的地址
driver.get("https://haokan.baidu.com/v?vid=7073936468876035706&tab=recommend")
# 等待一下,等打开网页
time.sleep(8)

# 页面打开会弹出一个登录窗口
close = driver.find_element(by=By.CSS_SELECTOR, value='.close-btn')
# 等登录窗口弹出来
time.sleep(5)
# 关闭弹出的登录窗口
close.click()

主要讲一下下半部分代码的的作用吧,请看下图(通过检查元素获取其位置,然后用代码定位进行操作):
Python 爬虫之下载视频(一),Python 爬虫,python,爬虫,音视频,下载


3.获取视频标题和地址

代码如下:

# 获取视频地址所在的位置
video = driver.find_element(by=By.CSS_SELECTOR, value='.art-video')
# 获取到该视频地址
video_url = video.get_attribute('src')

# 获取视频的标题
video_name = driver.find_element(by=By.CSS_SELECTOR, value='.videoinfo-title')

下面我用图片给大家解释吧,这样大家容易理解一点。

  1. 获取视频下载地址,首先各位先复制上面代码 art-video ,然后接着下图操作:
    Python 爬虫之下载视频(一),Python 爬虫,python,爬虫,音视频,下载

  2. 获取视频标题。
    Python 爬虫之下载视频(一),Python 爬虫,python,爬虫,音视频,下载


3.下载保存视频

代码如下:

# 发送HEAD请求,我们可以获取到服务器返回的关于资源的一些元数据,例如内容类型、内容长度、最后修改日期等
response = requests.head(short_video_url)
# 获取视频的大小(以字节为单位)
content_length = response.headers.get('content-length')
print(content_length)

# 设置stream=True参数以流的方式下载
mp4 = requests.get(short_video_url, stream=True)
with open(f'{video_name.text}.mp4', 'wb') as f:
    # 写入文件时,使用(chunk_size=1024)这种方式按块读取和写入
    for chunk in mp4.iter_content(chunk_size=1024):
        f.write(chunk)

上半部分代码说的是,在不下载视频的前提下,如何去获取视频的内容类型、内容长度、最后修改日期等。

下半部分代码说的是,让视频以流的形式下载,而不是一整块下载保存;同时,按块的方式一点一点保存到视频文件中去。


总结

本人实测有效,可以下载下来。但是清晰度不能保证,因为我没有登陆哈哈哈哈哈。基本环境是Python 3.11.6 版本的环境,注意哦要不然程序可能运行不起来。文章来源地址https://www.toymoban.com/news/detail-761489.html

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

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

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

相关文章

  • 用python解析抖音视频

    你可以使用 Python 的第三方库来解析抖音视频。其中有一个比较常用的库叫做 \\\"pydouyin\\\",你可以使用它来获取抖音视频的信息。 要安装这个库,你可以在命令行输入以下命令: 然后,你可以使用以下代码来解析抖音视频: 在这段代码中, get_video_info 方法接受一个抖音视频的

    2024年02月12日
    浏览(33)
  • 使用Python采集某网站视频,实现音视频自动合成!

      开发环境 模块的使用 采集下破站视频数据 通过开发者工具进行抓包分析,分析破站视频数据的来源。 开发者工具的使用 打开方式: 鼠标右键点击检查选择Network F12 ctrl + shift + i 想要开发者工具中有数据加载, 需要 刷新网页。 通过元素(Element)面板,我们能查看到想抓取

    2024年02月06日
    浏览(45)
  • Python音视频剪辑:大小调整的视频变换函数详解

    Python音视频剪辑:大小调整的视频变换函数详解 在音视频编辑中,常常需要对视频文件进行大小调整以适配不同的设备或场景。MoviePy是一款强大的Python库,提供了多种视频变换函数,可以方便地对视频进行大小调整。本文将介绍MoviePy中与大小相关的视频变换函数,并附上相

    2024年02月06日
    浏览(39)
  • python+moviepy音视频处理(二):视频添加文字(字幕)、视频添加汉字不显示问题

    目录 添加文字报错处理 中文不显示处理 代码实例 给视频添加滚动文字(一) 给视频添加滚动文字(二) 报错内容 :OSError: MoviePy Error: creation of None failed because of the following error: [WinError 2] 系统找不到指定的文件。. .This error can be due to the fact that ImageMagick is not installed on your comput

    2024年02月09日
    浏览(67)
  • python moviepy 自动化音视频处理实践

    MoviePy是一个用于视频编辑的Python库。它提供了一种简单且直观的方式来处理视频文件,包括剪辑、合并、裁剪、添加文本、添加音频等操作。使用MoviePy,你可以通过编写Python代码来创建和编辑视频,而无需使用复杂的视频编辑软件。 MoviePy建立在另一个库Pygame和软件MoviePy

    2024年02月14日
    浏览(27)
  • python+moviepy音视频处理(一):基本操作

    目录 视频处理 视频加载和输出 视频转换gif 视频裁剪 视频音量调节 去掉视频声音 视频中的音频提取与替换 获取视频属性 倍数播放视频 截取视频某帧为封面 多视频拼接 音频处理 替换视频文件的音频 多个音频文件拼接 安装:pip install moviepy 中文官网:moviepy-cn 文档 \\\'\\\'\\\' movie

    2023年04月23日
    浏览(34)
  • pydub,一个有趣的 Python 音视频处理库!

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站零基础入门的AI学习网站~。   目录 ​编辑 前言 什么是 pydub? 安装 pydub 基本用法  1. 播放音频文件  2. 剪切音频文件 高级用法  1. 合并音频文件  2. 调整音量 实际

    2024年02月21日
    浏览(61)
  • 如何使用Python进行可视化/音视频处理?

    要使用Python进行可视化和音视频处理,可以使用以下库: matplotlib:用于绘制各种类型的图表和图形,包括折线图、柱状图、散点图等。 seaborn:基于matplotlib的可视化库,提供更高级别的图表和样式,用于创建各种吸引人的统计图表。 plotly:用于创建交互式图表和数据可视化

    2024年02月09日
    浏览(42)
  • 怎么下载抖音视频无水印?教你三个无水印下载抖音视频方法

    怎么下载抖音视频无水印?抖音已经成为了我们日常生活与工作的无法割舍的一部分,每天数以亿计的用户在进行创作分享。在这个平台上,用户可以通过自己的所见所想进行创作和分享记录美好瞬间。然而,有些用户希望能够将自己喜欢的抖音视频保存到相册中,以便随时

    2024年02月03日
    浏览(38)
  • 抖音视频解析,无水印解析下载抖音视频

    抖音视频解析,你是否经常遇到这样的情况,看到一些非常精彩的抖音视频,想要保存下来,但因为下载速度慢或者视频带有水印而感到困扰?那么,这款(抖音无水印解析工具)将是你的得力助手!它可以轻松解决这些问题,使你能够更轻松、更便捷地批量解析和下载抖音

    2024年01月20日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包