关于B站的一个爬虫,可以获取视频的信息,下载视频等
Project description
Bilibili Tools
内容列表
背景
本项目主要是通过爬虫获取Bilibili各种信息,包括个人信息,视频下载,弹幕下载等。具体有多少功能主要取决于我自己有什么需求。但是会尽可能多 的实现各种功能。这些功能并不会以web应用或者GUI等形式出现,更像是以一个可调用的库的形式出现,这样可以很方便的给我自己去构建很多应用。当 然我自己感觉这个项目算是自己对于Python的一个实践吧。学了很多,但是平常写的机会挺少的,好些技巧都已经忘记了,借着这次机会也是重新学习和 巩固(如果不是这次疫情还抽不出这么多时间来写)。最后本项目仅用于学习交流,请勿用于任何商业用途。
已完成
- 目前所有的代码都是在Windows下完成的,并没有在Linux下进行测试,但是应该没有太大问题。
- 视频下载(在2020年2月23号B站开始使用BV号而不是AV号,昨天稍微修把项目修改了一下)
- 视频信息获取(包括点赞数,弹幕等)
安装
首先要确保你的电脑安装了ffmpeg并且设置了环境变量,如果没有,那么请前往它的官网下载。在确保你安装了ffmpeg的情况 下,请在命令行输入如下的命令以此来安装运行该项目所必须的依赖。
pip3 install biget
使用说明
首先导入该模块
from biget import Video
然后给Video类的构造函数传递参数来构建video对象,传入的参数就是视频的bv号
v = Video('BV1fE411F7AF')
在这个情况下v对象有如下的属性:
- bv:视频的bv号码
- bv_url:视频地址
- title:视频标题
- date:视频发布日期
- page_list:B站的视频可能一个视频有多个p也就是多集,这里是bv号下所有的视频的信息
- page_num:集数也就是p的数量
- data:关于视频的信息,在没有调用access方法之前改返回值为None否则返回值为下面的形式
{
'bvid': 视频bv号码,
'aid': 视频对应的av号码,
'page_num': 同一个bv下p的数量,
'title': 视频标题,
'date': 发布日期,
'owner': up主,
'owner_id': up主id,
'view': 观看量,
'danmaku': 弹幕数量,
'reply': 评论数,
'favorite': 收藏数量,
'coin': 投币数量,
'share': 转发数量,
'now_rank': 当前排名,
'his_rank': 全站排名,
'like': 点赞数,
'page': 每一个p的信息,
'tags': 视频的标签信息,
}
- bullet_comments: 视频的弹幕内容,在默认情况下为None,在调用了get_bullet方法之后才会有数据。执行之后该对象的bullet_comments会是 一个二维list对象,该对象存的每一个元素是一个bs4.element.Tag对象,要想获取里面的文本信息可以使用.text方法。
对象方法(下面假设类对象是video):
- download(pages, path='.', cover=True, keep=True, bilingual=True, insert=False)
- pages:要下载该bv号下管理的哪几集视频,需要传入一个可迭代对象,如果想下载全集可以传入range(video.page_num)。如果你想选择跳跃 的集数,那么请记住,输入的集数要比真实的小1。例如你想要获取第2集,第5集,那么你可以传入[1, 4]。
- path:下载的路径,默认情况下会在当前如路径下载(下载的视频会在给定路径下创建文件夹,以视频名字命名)
- cover:当cover为True的时候会如果文件夹里有同名文件会直接覆盖
- keep:是否保存m4s文件,因为b站直接爬取保存的是m4s,将m4s做处理之后才是我们的最终文件
- bilingual:为True时,视频在合并字幕的时候会合并两个CC字幕,当然这个的前提是该视频有两个CC字幕(当CC字幕数量大于2的时候就会取前 两个CC字幕),否则只合并一个
- insert:是否将CC字幕作为内嵌字幕,为True是则是作为内嵌字幕,(如果为True可能会需要比较长的时间处理),该参数为True只有在 bilingual为false的情况下才有效
- access()
- get_bullet(pages)
- pages:因为bv下的每一个视频都有自己的弹幕,所以你可以选择要获取的集数,同download需要传入一个可迭代对象,如果想下载全集则传入 range(video.page_num),如果你想选择跳跃的集数,那么请记住,输入的集数要比真实的小1。例如你想要获取第2集,第5集,那么你可以传入 [1, 4]。
维护者
维护者 | 邮箱 |
---|---|
@ujay-zheng | 897013045@qq.com |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
biget-0.1.0.tar.gz
(8.3 kB
view details)
File details
Details for the file biget-0.1.0.tar.gz
.
File metadata
- Download URL: biget-0.1.0.tar.gz
- Upload date:
- Size: 8.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | db71d804e97398b9a9ba5a68bcb667294323dd0b49ac7953b937182fa9a080ac |
|
MD5 | 6b9eaed770de79a4926b6eb2015e5faf |
|
BLAKE2b-256 | 2cd2c5cdf29b9a4ca31e7aed111b16b6046bc2ae3f9574cfb744caa169e424b8 |