有时我们苦于在线观看网络太慢

有时我们苦于大会员即将到期却没有时间看想看的电影

有时我们苦于付费电影只有三天的观看期限

有时我们苦于有想多次细细品尝的电影但B站却无法下载

… … -。- … …

为能更好地使用我们大会员的权利,这里提供一种下载B站电影的爬虫方法


一. 抓包

这里直接使用浏览器的开发者工具,选择 Network,在里面找属于音频和视频的数据包(B站的音频和视频传过来的时候是分开的)

一般为这几个,视频一般为 “-1-30112”,音频为 “-1-30280”,不过这个也可以根据点开后看数据包的大小得知,一般视频比音频的比特数大得多

接下来点开其中一个,复制下 Request URL 中的内容和视频文件的比特数(对于音频文件也一样)

这是视频的:

这是音频的:

二. 爬取

在代码相应位置填入刚才复制的四条信息(位置在代码注释中有标注)

code:

import requests
import osclass Spider:def __init__(self, urls: dict, video_bits: int, sound_bits: int):self.video_header = {'accept-language': 'zh-CN,zh;q=0.9','range': 'bytes=0-{}'.format(str(video_bits - 1)),'referer': 'https://www.bilibili.com','user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Safari/537.36',}self.sound_header = {'accept-language': 'zh-CN,zh;q=0.9','range': 'bytes=0-{}'.format(str(sound_bits - 1)),'referer': 'https://www.bilibili.com','user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Safari/537.36'}self.urls = urlsdef get_video(self, filename):url = self.urls['video']r = requests.get(url, headers=self.video_header)print(r.status_code)with open(filename, 'wb') as file:file.write(r.content)return 0def get_sound(self, filename):url = self.urls['sound']r = requests.get(url, headers=self.sound_header)print(r.status_code)with open(filename, 'wb') as file:file.write(r.content)return 0def merge(self, filename, videofile, soundfile, ffmpeg_path):os.system('{} -i {} -i {} -vcodec copy -acodec copy {}'.format(ffmpeg_path,videofile,soundfile,filename))return 0if __name__ == '__main__':urls = {'video': "", # 这里是抓包到的视频的url'sound': ""  # 这里是抓包到的音频的url}sider = Spider(urls, None, None) # 这里两个 None 分别是视频的比特数和音频的比特数sider.get_sound('./_sound.mp4')sider.get_video('./_video.mp4')# sider.merge('./_.mp4', './_video.mp4', './_sound.mp4', 'ffmpeg.exe')

三. 整合音频和视频

在代码最后注释一段有使用 ffmpeg 进行整合的方法,也可以使用其他工具整合。

大功告成了,接下来好好享受电影吧

【python】B站电影爬虫相关推荐

  1. 大数据Python爬取B站电影排行榜——爬取信息

    大数据Python爬取B站电影排行榜-信息爬取 前言 一.配置环境 二.爬取B站电影排行榜top100 1.找到B站电影排行榜top100网页 2.用URL进行爬取信息 三.建立Excel表并导出 总 ...

  2. 基于python的电影爬虫可视化系统设计与实现

    大数据时代的到来,随着人们线上互动以及网络交易,用户的信息数据完全充斥着网络,个体对产品及服务的偏好可以从这些数据中完全体现出来,为商家以及平台提供了更好的发展方向.但是要人为获取数据库中的大量数据信 ...

  3. python豆瓣电影爬虫

    前言 作为本人的第一篇博客,不知道怎么写才好.同时作为一个编程的菜鸟,第一次分享自己的练习之作,希望能够通过写博客这种方式慢慢的提高自己的表述能力. 本人最近学习python,学习了基本的语法,就想着 ...

  4. 爬虫数据云词图片怎么做?小姐姐教你用python做B站弹幕爬虫,并进行数据分析生成词云

    hello大家好,我是你们的可爱丸,大家平时在B站看视频时有没有开弹幕的习惯呢?如果不把视频从头看到尾,那么多弹幕,我们怎么快速的知道大家都说了些什么并且持有什么观点呢? 今天小姐姐就教你做一个简单的 ...

  5. python电影爬虫系统毕设_从零开始搭建完整的电影全栈系统(一)——数据库设计及爬虫编写...

    前言:关于标题似乎有些浮夸,所谓的全栈系统主要包括数据的爬取,web网站展示,移动设备App,主要记录学习过程中知识点,以备忘. **技术栈: 1,Scrapy爬虫框架:记录爬虫框架的工作流程,简单爬 ...

  6. python豆瓣电影需研究的问题_基于Python对豆瓣电影数据爬虫的设计与实现

    本文基于 Python 实现了网络 爬虫豆瓣电影模块的数据信息, 可以根据爬虫得到的信息进行相 关的市场分析,具有一定的商业 价值. 摘 要 能够高效率得完成爬取目标数据. 2 网络爬虫的实现 本 文 ...

  7. 【豆瓣电影】2019/11/21/Python搜索豆瓣电影(Top100)爬虫+D3.js词云(票房和豆瓣评分)实现

    [豆瓣电影爬虫]2019/11/21/Python豆瓣电影爬虫+D3.js WordCloud 1.目标 今天临时需要将100部票房最高的电影[from艺恩网:如图1],找到对应的豆瓣评分,制作D3词 ...

  8. Python爬虫实战,pyecharts模块,Python实现豆瓣电影TOP250数据可视化

    前言 利用Python实现豆瓣电影TOP250数据可视化.废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: pandas模块 pyecharts模块: 以及一些 ...

  9. python电影爬虫背景介绍_python爬虫-爬虫电影八佰词云

    #数据获取 importrequestsimportreimportcsvimportjiebaimportwordcloud#通过循环实现多页爬虫#观察页面链接规律#https://movie.do ...

最新文章

  1. 组策略妙用----通过组策略禁止域用户更改IP地址
  2. 如何在GitHub上大显身手?
  3. Java黑皮书课后题第10章:*10.17(平方数)找出大于Long.MAX_VALUE的前10个平方数。平方数是指形式为n^2的数
  4. plc的时代背景_PLC发明史
  5. window-memcache技术随笔
  6. Dojo学习笔记(8. dojo.event dojo.event.topic dojo.event.browser)
  7. 关于captcha使用The _imagingft C module is not installed的错误处理
  8. NiosII软处理器快速入门- 10分钟学会NiosII(1)
  9. 模型参数太多怎么办?用谷歌高效训练库GPipe啊
  10. android 应用搬家 分区,把安装在SD卡的应用存在DATA分区的数据移到SD卡上
  11. MySQL查看SQL语句执行效率
  12. 2021 年全球知名开源项目
  13. Hibernate方法save、update、merge、saveOrUpdate及get和load的区别
  14. elementui的表格在使用v-if之后列的顺序错乱问题
  15. 算丰征途「SOPHON盘古无人驾驶系统」基本框架介绍
  16. Power bi 3.18 仪表盘
  17. 中国剩余定理的五种解法
  18. Feign出现The bean ‘seckill.FeignClientSpecification‘, defined in null, could not be registered. A be
  19. hibernate hbb.xml 映射关系
  20. 计算机房通气换气次数,地下制冷机房,水泵房,配电房的排风量按多少换气次数计算...

热门文章

  1. Android OpenGL ES 3.0 PBO像素缓冲区对象
  2. C++ using declaration
  3. istio-cni详解
  4. 这大概是今年介绍云原生最清晰明了的文章!
  5. DICOM:dcm4che工具包如何压缩dcm文件探讨(前篇)
  6. python3通过itchat登录微信给好友发送消息
  7. 【1】GAN在医学图像上的生成,今如何?
  8. 00后专访:我是如何初中毕业年仅16岁便踏入北漂码农行业的(一)
  9. 发邮件窗体【支持编辑邮件模板,使用wse多线程上传附件及发邮件(带附件)】以及在服务器端自动发邮件...
  10. 手机与软件兼容测试软件,如何使用Total Control手机软件兼容性测试?