爬取斗鱼单个视频下载到本地

爬取斗鱼单个视频下载到本地

本案例所使用的网站及模块

网站:斗鱼视频-热门主播海量视频、原创内容抢先看 (douyu.com)

工具:爬虫工具库-spidertools.cn

模块: 1. requests

2.re

3. tqdm 进度条模块 可以可视化 下载的进度 通过pip install tqdm 安装

from tqdm import tqdm 导包

爬虫步骤

模拟浏览器向服务器发送请求 (伪装成人的行为)解析数据保存数据

打开网址 随便找自己喜欢的一个视频点开

打开开发者模式 F12 or 右击检查

上图位置可以设置 窗口的弹出位置

2. 点击网络 下面的媒体 点击播放 目的是监听数据包

通过分析我们可以知道 没有数据返回

因为 大多是网站上的视频文件为流媒体文件 m3u8 包括爱情动作篇 我有个朋友就爬过

其文件为ts文件

解决步骤

Ctral+F 打开搜索

搜索m3u8 文件 找到 上图所显示的图片文件

explain: m3u8 文件 将一个视频分成很多个小的片段 因此要找到包含所有文件的ts数据包

接着我们向这个地址发送请求 拿到此数据包中的文件

点击此数据包 按如下图所示操作

打开我们的工具 -爬虫工具库

cURL 转requests 在Pychram 打开 运行 得到如下的数据

放回的数据中以#E开头的得去除 我们使用正则中的方法实现

上面为视频中的几个片段文件 发现包括在我们请求下来的数据中

explain: 使用正则表达式 re.sub 去除字符串 response.text 中以 #E 开头的内容 将处理后的字符串按空格分割成列表。

接着拼接最后的下载地址 将playlist.m3u8前的链接复制下来

explain:1. tqdm写在如下图位置 可以实现任务条进度查看

2.视频 图片 获去下载的方式为 二进制下载 也就是获取请求它的二进制数据

3. with open 保存下载的视频 第一个参数写 名字带文件格式

第二个参数为写入文件的格式 ab 意思为 以二进制追加的形式写入

在 Python 中,`open` 函数用于打开文件,并支持多种模式来读取和写入文件。以下是常见的文件打开模式及其含义:

- `'r'`: 读取模式(默认)。打开一个已存在的文件进行读取。如果文件不存在,会引发 `FileNotFoundError`。 - `'w'`: 写入模式。打开一个文件进行写入。如果文件存在,会清空文件内容;如果文件不存在,会创建新文件。 - `'x'`: 独占创建模式。新建一个文件,如果文件已经存在,会引发 `FileExistsError`。 - `'a'`: 追加模式。打开一个文件进行写入,如果文件存在,写入的数据会被追加到文件末尾;如果文件不存在,会创建新文件。 - `'b'`: 二进制模式。与其他模式结合使用,用于处理二进制文件(如图片、视频等)。 - `'t'`: 文本模式(默认)。与其他模式结合使用,用于处理文本文件。 - `'+'`: 读写模式。与其他模式结合使用,允许同时读取和写入文件。

结合这些模式,可以形成以下组合:

- `'rb'`: 以二进制模式读取文件。 - `'wb'`: 以二进制模式写入文件。 - `'xb'`: 以二进制模式独占创建文件。 - `'ab'`: 以二进制模式追加数据到文件末尾。 - `'rt'`: 以文本模式读取文件(默认)。 - `'wt'`: 以文本模式写入文件(默认)。 - `'xt'`: 以文本模式独占创建文件。 - `'at'`: 以文本模式追加数据到文件末尾。 - `'r+'`: 以文本模式打开文件进行读写。 - `'w+'`: 以文本模式打开文件进行读写,清空文件内容或创建新文件。 - `'x+'`: 以文本模式独占创建文件进行读写。 - `'a+'`: 以文本模式打开文件进行读写,追加数据到文件末尾。 - `'rb+'`: 以二进制模式打开文件进行读写。 - `'wb+'`: 以二进制模式打开文件进行读写,清空文件内容或创建新文件。 - `'xb+'`: 以二进制模式独占创建文件进行读写。 - `'ab+'`: 以二进制模式打开文件进行读写,追加数据到文件末尾。

在文件夹中找到此文件 打开 看我们的视频有没有成功保存

OK 下载成功 本期案列到此结束 下期更新 解决斗鱼加密 实现多个视频的爬取

初写博客,之后会改进做得更好,学习优秀的博客文章 请多多包涵

敬请期待 谢谢!

相关推荐

安聪慧:销售反映极氪009光辉78.9万元卖低了 二级市场都在加价
苹果树怎么画?儿童画苹果树的步骤图
bat365入口

苹果树怎么画?儿童画苹果树的步骤图

08-14 👁️‍🗨️ 2221
厦门有几个区,哪个区比较繁华?
beat365唯一的网址

厦门有几个区,哪个区比较繁华?

07-23 👁️‍🗨️ 808
NBA数据:杜兰特,截止到2025年,职业生涯常规赛数据汇总
白酒上甑工艺工业机器人系统研究
beat365唯一的网址

白酒上甑工艺工业机器人系统研究

07-07 👁️‍🗨️ 6173
苏联历史
bat365入口

苏联历史

07-23 👁️‍🗨️ 333
剑灵主线一共多少章
bat365入口

剑灵主线一共多少章

07-31 👁️‍🗨️ 6614
传奇赤月地图怪物、详细攻略 怎么走图解
bat365入口

传奇赤月地图怪物、详细攻略 怎么走图解

07-25 👁️‍🗨️ 2500
烧掉你的脑游戏攻略(开启大脑思维的烧脑游戏,让你成为智力王者!)