Closed JiaLeDe closed 11 months ago
仓库版本为16.0.0
pip install bilibili-api-dev==16.0.1b2
尝试更新库后测试弹幕接收是否正常
测试时确保自己的 Credential 为最新状态,最重要的两个参数 sessdata
和 buvid3
这里提供一份参考测试代码:
from bilibili_api import Credential, live, sync
cred = Credential(
sessdata=xxx,
buvid3=xxx,
)
room = live.LiveDanmaku(xxx, credential=cred)
@room.on("DANMU_MSG")
async def _(evt):
info = evt["data"]["info"]
name = info[2][1]
msg = info[1]
print(name, msg)
async def main():
await room.connect()
sync(main())
有用吗
没有用,跟之前反应完全一致。 并不是完全的收不到弹幕,有时只能收到第一条弹幕,有时间歇性收到一条两条的消息。 不只是弹幕,礼物、入场等消息都获取不到。
没有用,跟之前反应完全一致。 并不是完全的收不到弹幕,有时只能收到第一条弹幕,有时间歇性收到一条两条的消息。 不只是弹幕,礼物、入场等消息都获取不到。
测试代码,或者测试直播间有吗?确保cred是最新的吗?
代码就是普通一个事件监听,没有复杂逻辑,cred是每次运行代码时候短信验证码登录获取的cred。 之前出过类似问题是通过增加header中user-agent解决的 #419
傻逼b站又换接口了,原来的 https://api.live.bilibili.com/room/v1/Danmu/getConf
已经不用了,改成 https://api.live.bilibili.com/xlive/web-room/v1/index/getDanmuInfo
了
https://api.live.bilibili.com/room/v1/Danmu/getConf?room_id=213
{
"code": 0,
"msg": "ok",
"message": "ok",
"data": {
"refresh_row_factor": 0.125,
"refresh_rate": 100,
"max_delay": 5000,
"port": 2243,
"host": "broadcastlv.chat.bilibili.com",
"host_server_list": [
{
"host": "tx-gz-live-comet-03.chat.bilibili.com",
"port": 2243,
"wss_port": 443,
"ws_port": 2244
},
{
"host": "ali-bj-live-comet-09.chat.bilibili.com",
"port": 2243,
"wss_port": 443,
"ws_port": 2244
},
{
"host": "broadcastlv.chat.bilibili.com",
"port": 2243,
"wss_port": 443,
"ws_port": 2244
}
],
"server_list": [
{
"host": "106.53.116.19",
"port": 2243
},
{
"host": "101.200.42.181",
"port": 2243
},
{
"host": "broadcastlv.chat.bilibili.com",
"port": 2243
},
{
"host": "106.53.116.19",
"port": 80
},
{
"host": "101.200.42.181",
"port": 80
},
{
"host": "broadcastlv.chat.bilibili.com",
"port": 80
}
],
"token": "10d5ORmup5QjiqEo0L2EuVACDF-PQndGVO6SetazMIJ7UN0gHY8_-6Q3AWQ46On27a8h3TIsCcu62joc0QLczdyrq2hkvnoqHqwYOsBy6w9tUpGhMUqh_dv-vp-K6sD3KIAqMx0xkoekPtXGc3US"
}
}
https://api.live.bilibili.com/xlive/web-room/v1/index/getDanmuInfo?id=213
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"group": "live",
"business_id": 0,
"refresh_row_factor": 0.125,
"refresh_rate": 100,
"max_delay": 5000,
"token": "oDmo_HXN1c716eamjPtxYhTcdQUOeMFwwoVh_E5UEwdlv2Yr-rlIzEf_ZlZaoAtLMK8d1QdAD7XLs9Y9os6DKQoWbHXh4jr8IGFEQLv6Z2Fl8osMFbWLQ5pBCGY2pS6Af7Ulf89SLTfbqObrhLA=",
"host_list": [
{
"host": "tx-gz-live-comet-09.chat.bilibili.com",
"port": 2243,
"wss_port": 443,
"ws_port": 2244
},
{
"host": "ali-sh-live-comet-07.chat.bilibili.com",
"port": 2243,
"wss_port": 443,
"ws_port": 2244
},
{
"host": "broadcastlv.chat.bilibili.com",
"port": 2243,
"wss_port": 443,
"ws_port": 2244
}
]
}
}
https://api.live.bilibili.com/xlive/web-room/v1/index/getDanmuInfo
了https://api.live.bilibili.com/room/v1/Danmu
这是什么接口,是获取历史弹幕的那个接口吗
历史弹幕获取不了啊,啥意思?
九月份以来发现代码和各项配置完全一致的情况下下午获取弹幕弹幕好像没什么问题,但是上午基本上获取不到弹幕。 不知道是否b站有新的风控策略。
历史弹幕获取不了啊,啥意思?
我以为是那个 一进直播间能获取进直播间之前几条弹幕的那个接口
大佬们,搞b站弹幕的有群吗,一起讨论一下
没有用,跟之前反应完全一致。 并不是完全的收不到弹幕,有时只能收到第一条弹幕,有时间歇性收到一条两条的消息。 不只是弹幕,礼物、入场等消息都获取不到。
可能有新的风控点
pip install bilibili-api-dev==16.0.1b2
尝试更新库后测试弹幕接收是否正常
测试时确保自己的 Credential 为最新状态,最重要的两个参数 sessdata
和 buvid3
pip install bilibili-api-dev==16.0.1b2
尝试更新库后测试弹幕接收是否正常
测试时确保自己的 Credential 为最新状态,最重要的两个参数
sessdata
和buvid3
有用!粗浅测试了一下没有漏掉弹幕。还请问是什么原因??
token
的接口,b站总是改来改去的。sessdata
和 buvid3
,也就是用登录了的账号去获取弹幕。之前是不登录的,自然会有种种限制,比如:收到用户名打码、弹幕不全等问题。
- 首先是因为这个更新替换了获取
token
的接口,b站总是改来改去的。- 其次强制要求了要传入
sessdata
和buvid3
,也就是用登录了的账号去获取弹幕。之前是不登录的,自然会有种种限制,比如:收到用户名打码、弹幕不全等问题。
辛苦大佬
- 首先是因为这个更新替换了获取
token
的接口,b站总是改来改去的。- 其次强制要求了要传入
sessdata
和buvid3
,也就是用登录了的账号去获取弹幕。之前是不登录的,自然会有种种限制,比如:收到用户名打码、弹幕不全等问题。
使用验证码登录后的buvid3没有存入cred。。导致连接时报 Credential 类未提供 buvid3 或者为空。 git用的不熟不会提交代码。。
使用验证码登录后的buvid3没有存入cred。。导致连接时报 Credential 类未提供 buvid3 或者为空。 git用的不熟不会提交代码。。
验证码登录不会返回 buvid
,返回数据包含:
['DedeUserID=x', 'DedeUserID__ckMd5=x', 'Expires=x', 'SESSDATA=x', 'bili_jct=x', 'gourl=x']
或许你可以在登录完成后用 uuid
生成一个
cred.buvid3 = str(uuid.uuid1())
使用验证码登录后的buvid3没有存入cred。。导致连接时报 Credential 类未提供 buvid3 或者为空。 git用的不熟不会提交代码。。
验证码登录不会返回
buvid
,返回数据包含:['DedeUserID=x', 'DedeUserID__ckMd5=x', 'Expires=x', 'SESSDATA=x', 'bili_jct=x', 'gourl=x']
或许你可以在登录完成后用
uuid
生成一个cred.buvid3 = str(uuid.uuid1())
大佬牛皮 我以为buvid3也是登录时换来的凭证 感谢大佬
credential.get_cookies()可以获取所有的登录参数,适用于各种登录方式登录后获得的credential
使用验证码登录后的buvid3没有存入cred。。导致连接时报 Credential 类未提供 buvid3 或者为空。 git用的不熟不会提交代码。。
验证码登录不会返回
buvid
,返回数据包含:['DedeUserID=x', 'DedeUserID__ckMd5=x', 'Expires=x', 'SESSDATA=x', 'bili_jct=x', 'gourl=x']
或许你可以在登录完成后用
uuid
生成一个cred.buvid3 = str(uuid.uuid1())
uuid 生成的用不了,用spi接口thx,以及实际上未提供的时候 network 会自动缓存个
pip install bilibili-api-dev==16.0.1b2 尝试更新库后测试弹幕接收是否正常 测试时确保自己的 Credential 为最新状态,最重要的两个参数 sessdata 和 buvid3
dev版和正式版的python导入都是import bilibili_api吗,如果是的话,如何分别导入这两个库
没辙吧?
dev版和正式版的python导入都是import bilibili_api吗,如果是的话,如何分别导入这两个库
为什么要分别导入,bilibili-api-dev
是 bilibili-api-python
的超集,是包含关系。也就是说你如果用 dev
版就是用了 python
版
建议直接在 pip
切换,这不适合交给代码吧,切换一次要改的太多了
dev版和正式版的python导入都是import bilibili_api吗,如果是的话,如何分别导入这两个库
为什么要分别导入,
bilibili-api-dev
是bilibili-api-python
的超集,是包含关系。也就是说你如果用dev
版就是用了python
版
这样的吗,彳亍,顺便问一句,会有在dev实现的功能但是不在正式版实装的吗
暂时没有,因为 dev 分支总归是会提交到 main 分支的
乂,对了,还有一个问题,如果在一个环境里同时安装dev和正式版,import bilibili_api导入的是哪个
乂,对了,还有一个问题,如果在一个环境里同时安装dev和正式版,import bilibili_api导入的是哪个
他们的安装是覆盖关系,取决于你后安装哪个。
pip install bilibili-api-dev==16.0.1b2
尝试更新库后测试弹幕接收是否正常
测试时确保自己的 Credential 为最新状态,最重要的两个参数
sessdata
和buvid3
这里提供一份参考测试代码:
from bilibili_api import Credential, live, sync cred = Credential( sessdata=xxx, buvid3=xxx, ) room = live.LiveDanmaku(xxx, credential=cred) @room.on("DANMU_MSG") async def _(evt): info = evt["data"]["info"] name = info[2][1] msg = info[1] print(name, msg) async def main(): await room.connect() sync(main())
是不是又改了,现在还要多加一个dedeuserid
填了sessdata不是会自动获取吗我记得
填了sessdata不是会自动获取吗我记得
嗯… 前两天用这个测试代码能直接过, 今天报了这个提示: [2023-09-10 18:35:03,888][WARNING] Credential 类未提供 DedeUserID 或者为空。 然后加上dedeuserid就好了,不知道是不是又改了
填了sessdata不是会自动获取吗我记得
是,可能没更新
扫码登录后,用户昵称还是获取不全
bilibili-api-python 16.0.0
bilibili-api-dev==16.0.1b2
可用
扫码登录后,用户昵称还是获取不全
bilibili-api-python 16.0.0
bilibili-api-dev==16.0.1b2
可用
dev 能用的不用 comment 了,迟早发正式版的...
扫码登录后,用户昵称还是获取不全
bilibili-api-python 16.0.0
bilibili-api-dev==16.0.1b2
可用dev 能用的不用 comment 了,迟早发正式版的...
据说正式版已经更新了
扫码登录后,用户昵称还是获取不全
bilibili-api-python 16.0.0
bilibili-api-dev==16.0.1b2
可用dev 能用的不用 comment 了,迟早发正式版的...
据说正式版已经更新了
这种情况直接等 16.0.1
扫码登录后,用户昵称还是获取不全
bilibili-api-python 16.0.0
bilibili-api-dev==16.0.1b2
可用dev 能用的不用 comment 了,迟早发正式版的...
据说正式版已经更新了
这种情况直接等
16.0.1
据说已经发布16.1.0
扫码登录后,用户昵称还是获取不全
bilibili-api-python 16.0.0
抱歉没看 release,误触 close issue 了...
16.0.1已发,那为啥提 16.0.0 获取不全,我无语了
扫码登录后,用户昵称还是获取不全
bilibili-api-python 16.0.0
抱歉没看 release,误触 close issue 了...
16.0.1已发,那为啥提 16.0.0 获取不全,我无语了
因为没升级的时候的问题,来看了才知道有新版
一个月没动静了...再有改动再说吧
代码如下:
在浏览器复制好ck填进去后,打印为True,但直播弹幕并不会出现,只会打印几个简单信息,弹幕不会获取到