Code Monkey home page Code Monkey logo

bilibili_api's Introduction

bilibili_api

V2版本正在开发中,开发进度 https://github.com/Passkou/bilibili_api/projects/1

本项目地址:

https://github.com/Passkou/bilibili_api

本模块可调用 哔哩哔哩 (下称b站)的API,使用这些API可对视频、动态等进行一系列的操作,详细功能请见帮助文档。

我的个人网站:喵帕斯小窝

API列表 点我

开发文档及所有功能请见 Wiki

安装方法

本模块用到的第三方库:

  • requests

仅支持 Python3,使用以下代码安装本模块

pip install bilibili_api

然后,使用以下代码导入本模块

import bilibili_api

快速开始

以获取视频 av40473736 信息为例

首先,我们要导入 video 模块和 Verify 验证类:

from bilibili_api import video, Verify

该模块有三个类,分别是 VideoInfoVideoOperate,前者用于获取视频信息,后者用于操作视频(点赞、投币等)。 还有一个 Danmaku 类,用于获取弹幕和发送弹幕。

然后我们使用以下代码初始化这个类:

verify = Verify(sessdata="your sessdata", csrf="your csrf")
my_video = video.VideoInfo(aid="40473736", verify=verify)

对于 Verify 类,可用可不用。

但是,部分视频信息需要登录(即需要 SESSDATA )后才能使用(如历史弹幕获取)。

对视频进行点赞、投币等用户操作则需要 SESSDATA 和 csrf 。

关于 SESSDATA 和 csrf 获取的详细方法,点我

接下来我们获取视频的详细信息:

video_info = my_video.get_video_info()
print(video_info)

完整代码:

from bilibili_api import video, Verify
import json

# 设置验证
verify = Verify(sessdata="your sessdata", csrf="your csrf")

# 初始化VideoInfo类
my_video = video.VideoInfo(aid="40473736", verify=verify)

# 获取视频信息
video_info = my_video.get_video_info()

# 转换成格式化JSON并打印
print(json.dumps(video_info, indent=4, ensure_ascii=False))

会得到类似下面的返回值(返回的是Python对象,为方便阅读已转换为JSON):

{
	"bvid": "",
	"aid": 40473736,
	"videos": 2,
	"tid": 22,
	"tname": "鬼畜调教",
	"copyright": 1,
	"pic": "http://i1.hdslb.com/bfs/archive/0d2c12f55f6e54bb0e7bcb2e093d000208bca860.jpg",
	"title": "轮到日向给你洗脑啦!(天使降临到我身边)",
	"pubdate": 1547204664,
	"ctime": 1547204664,
	"desc": "番剧名:天使降临到我身边\nBGM:天国と地獄\nみやねみやねみやねみやねみやねみやねみやねみやねみやねみやねみやねみやねみやねみやねみやねみやねみやねみやねみやねみやねみやねみやねみやねみやねみやねみやねみやねみやねみやねみやね\n一集都给你做成鬼畜233",
	"state": 0,
	"attribute": 16512,
	"duration": 222,
	"rights": {
		"bp": 0,
		"elec": 0,
		"download": 1,
		"movie": 0,
		"pay": 0,
		"hd5": 0,
		"no_reprint": 1,
		"autoplay": 1,
		"ugc_pay": 0,
		"is_cooperation": 0,
		"ugc_pay_preview": 0,
		"no_background": 0
	},
	"owner": {
		"mid": 12440199,
		"name": "Passkou",
		"face": "http://i2.hdslb.com/bfs/face/0ad5abd97cb8f4575fbdfca847211f7df0f49cdb.jpg"
	},
	"stat": {
		"aid": 40473736,
		"view": 155513,
		"danmaku": 345,
		"reply": 439,
		"favorite": 3872,
		"coin": 2611,
		"share": 549,
		"now_rank": 0,
		"his_rank": 0,
		"like": 4550,
		"dislike": 0,
		"evaluation": ""
	},
	"dynamic": "#洗脑循环##天使降临到我身边##丧心病狂#",
	"cid": 71085394,
	"dimension": {
		"width": 1920,
		"height": 1080,
		"rotate": 0
	},
	"no_cache": false,
	"pages": [
		{
			"cid": 71085394,
			"page": 1,
			"from": "vupload",
			"part": "轮到日向给你洗脑啦!",
			"duration": 109,
			"vid": "",
			"weblink": "",
			"dimension": {
				"width": 1920,
				"height": 1080,
				"rotate": 0
			}
		},
		{
			"cid": 71206420,
			"page": 2,
			"from": "vupload",
			"part": "FL工程",
			"duration": 113,
			"vid": "",
			"weblink": "",
			"dimension": {
				"width": 1920,
				"height": 1080,
				"rotate": 0
			}
		}
	],
	"subtitle": {
		"allow_submit": false,
		"list": []
	}
}

接下来,就可以根据自己的实际需求对数据进行处理了。懒得写了.jpg

更详细的教程请见 Wiki

更新日志

bilibili_api's People

Contributors

limn2o4 avatar moyuscript avatar mz289 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.