千家信息网

如何用Python对b站的小视频进行爬取

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章给大家介绍如何用Python对b站的小视频进行爬取,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。我用 Python 对 b 站的小视频进行了爬取,因为是小视频,大小平均在
千家信息网最后更新 2025年12月02日如何用Python对b站的小视频进行爬取

这篇文章给大家介绍如何用Python对b站的小视频进行爬取,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

我用 Python 对 b 站的小视频进行了爬取,因为是小视频,大小平均在 5 兆以内。排队时,没网络也能看小姐姐了,爽啊。文末给出了源码获取方式。

b 站小视频地址:

http://vc.bilibili.com/p/eden/rank#/?tab=全部

我爬取了每日的小视频排行榜,学会了每日的,爬取本周、本月的就非常简单了,改个标签就行,稍后详细分析会讲到。以下是爬取结果。

项目环境

语言:Python3
工具:Pycharm

程序结构

主要由 3 部分组成:

  • get_json():提取目标网页的 json 数据信息。

  • downloader():下载小视频并显示下载进度。

  • 主函数:循环下载视频直到下载完毕。

代码分析

打开网站往下滑动,视频是动态加载的,打开调试工具,向下滑动加载视频,查看 Headers 中 url ,url 中前面部分的链接是不变的,提取出来。(左右滑动查看全部代码)

http://api.vc.bilibili.com/board/v1/ranking/top?

观察下方参数的变化,发现只有 next_offset 这个字段在变,每次都比前一个多 10。

这就好办了,我们把参数部分单独拿出来,把可变的 next_offset 写成变量,返回目标网页的 json 数据。

接下来,我把小视频下载下来,为了美观,我做了个下载器,显示下载速度。效果如下。

此处有个地方需注意下,请求目标网页时必须带上此网页的 headers 信息,网站做了反爬操作,否则下载下来的视频是空的,部分代码如下。(ps:大家运行代码时把 headers 换成自己浏览器在本网页的 headers 即可)

主函数中为了提取更多视频,我们把 next_offset 这个变量做个循坏,然后从 json 数据中提取视频的标题和可下载的链接。观察下页面的 json 数据结构就可以轻松获取文章标题和下载链接数据。

为了防止有些视频没有提供下载链接的情况,我加了异常处理,细心的朋友应该发现了文章前面给的效果图只有84个视频,原因就在此。最后,为了防止 ip 被封,设置了随机等待时间。其实,总体下来,不到 5 分钟,100 个视频可以全部下载完毕。

关于如何用Python对b站的小视频进行爬取就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

视频 数据 网页 代码 部分 链接 文章 更多 目标 信息 内容 函数 参数 变量 只有 工具 效果 标题 结构 网站 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 学好网络技术能干什么 计算机软件开发销售预测 小米手机原神怎么改服务器 金华相通网络技术有限公司 北京高科技互联网 计算机与网络技术的优缺点 网络安全艺术字手写体 我的世界呆呆联机服务器 电子软件开发工程师的优点 企业网络安全工作经验 绍兴市飞普网络技术有限公司 我的世界1.2.5服务器 施耐德服务器故障7344 网络安全比赛是电竞吗 瑞斯康达软件开发怎么样 雅安直销公司直销软件开发 xp应用程序服务器 公安类专业网络安全与执法咋样 共享网络技术是什么 购买服务器是否记入固定资产 西安软件开发有前途吗 河南正数网络技术有限公司挂牌 云南管理软件开发公司 服务器增强安全 软件开发需求分级 企业网络安全工作经验 软件开发思维导图欣赏 绍兴市飞普网络技术有限公司 济南市宇泉网络技术有限公司 购买服务器是否记入固定资产
0