xfgryujk / blivechat

用于OBS的仿YouTube风格的bilibili直播评论栏
https://chat.bilisc.com
MIT License
2.19k stars 254 forks source link

MacOS下用源码编译的,但好像没法获取数据了 #1

Closed honhosing closed 5 years ago

honhosing commented 5 years ago

python3 main.py -.... 之后,用浏览器打开相应的端口页面,再输入房间ID,但结果是空白一片。命令行中出现断线重连的信息:WARNING [blivedm.blivedm]: room xxxx 掉线重连中1

xfgryujk commented 5 years ago

¿我这边试没问题,要不你调试看看是什么错误

honhosing commented 5 years ago

¿我这边试没问题,要不你调试看看是什么错误

需要在main.py或者blivedm.py里加入什么参数吗?类似爬虫时添加headers、Cookie之类的。还是说像Readme.md里写的那样,直接安装完所有依赖库之后,直接python3 main.py即可?

xfgryujk commented 5 years ago

¿我这边试没问题,要不你调试看看是什么错误

需要在main.py或者blivedm.py里加入什么参数吗?类似爬虫时添加headers、Cookie之类的。还是说像Readme.md里写的那样,直接安装完所有依赖库之后,直接python3 main.py即可?

装完依赖直接运行就行

honhosing commented 5 years ago

image

image

重新下载源码,再安装依赖还是不行。这是运行情况(以房间号526为例),在OBS中已添加了浏览器来源

xfgryujk commented 5 years ago

你下断点调试看是什么错误啊 room526

xfgryujk commented 5 years ago

要不你把WEBSOCKET_URL临时改成wss://ks-live-dmcmt-bj6-pm-01.chat.bilibili.com/sub

honhosing commented 5 years ago

要不你把WEBSOCKET_URL临时改成wss://ks-live-dmcmt-bj6-pm-01.chat.bilibili.com/sub

我发现是服务器端有弹幕信息推过来的时候,就会出现2019-06-09 23:17:44 WARNING [blivedm.blivedm]: room XXX 掉线重连中的报错。Websocket之前没怎么接触过,不太清楚问题出在哪里(应该是与服务器握手成功了?)

我在blivedm.py 的def _message_loop(self)下了断点,确实是当有弹幕信息推到客户端时就会在抛出错误,但不知道问题出在哪里,恳请指教 image

xfgryujk commented 5 years ago

要不你把WEBSOCKET_URL临时改成wss://ks-live-dmcmt-bj6-pm-01.chat.bilibili.com/sub

我发现是服务器端有弹幕信息推过来的时候,就会出现2019-06-09 23:17:44 WARNING [blivedm.blivedm]: room XXX 掉线重连中的报错。Websocket之前没怎么接触过,不太清楚问题出在哪里(应该是与服务器握手成功了?)

我在blivedm.py 的def _message_loop(self)下了断点,确实是当有弹幕信息推到客户端时就会在抛出错误,但不知道问题出在哪里,恳请指教 image

你在except...后面加个as e,这样看不出错误信息

honhosing commented 5 years ago

终于知道是什么报错了

Cannot connect to host api.bilibili.com:443 ssl:None [[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)]
xfgryujk commented 5 years ago

终于知道是什么报错了

Cannot connect to host api.bilibili.com:443 ssl:None [[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)]

这里加个参数ssl=False

honhosing commented 5 years ago

终于知道是什么报错了

Cannot connect to host api.bilibili.com:443 ssl:None [[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)]

这里加个参数ssl=False

还是一样的报错信息。我查了一下,有个帖子说在脚本里添加

import ssl
ws.run_forever(sslopt={"cert_reqs": ssl.CERT_NONE})

不过我看blivedm.py里的websocket构造方法不是直接import websocket,试了一下在这个地方加了进去 image

虽然是没有抛出异常,但还是没有接收到弹幕信息

xfgryujk commented 5 years ago

不是websocket的问题,那个错误是获取头像时api.bilibili.com证书不对的问题,我上面的链接改了

honhosing commented 5 years ago

不是websocket的问题,那个错误是获取头像时api.bilibili.com证书不对的问题,我上面的链接改了

万分感谢!终于接收到弹幕信息了!